{"id":18924657,"url":"https://github.com/dash-os/atom-language-dashtcl","last_synced_at":"2026-01-25T13:32:34.655Z","repository":{"id":71821410,"uuid":"99269458","full_name":"Dash-OS/atom-language-dashtcl","owner":"Dash-OS","description":"Atom Syntax Grammars for Tcl/Tk 8.6.6 ","archived":false,"fork":false,"pushed_at":"2017-10-29T17:45:51.000Z","size":84,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-24T23:41:08.024Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dash-OS.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-08-03T19:49:39.000Z","updated_at":"2021-05-02T15:18:39.000Z","dependencies_parsed_at":"2023-06-18T18:26:56.076Z","dependency_job_id":null,"html_url":"https://github.com/Dash-OS/atom-language-dashtcl","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/Dash-OS/atom-language-dashtcl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dash-OS%2Fatom-language-dashtcl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dash-OS%2Fatom-language-dashtcl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dash-OS%2Fatom-language-dashtcl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dash-OS%2Fatom-language-dashtcl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dash-OS","download_url":"https://codeload.github.com/Dash-OS/atom-language-dashtcl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dash-OS%2Fatom-language-dashtcl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28753440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-08T11:07:39.759Z","updated_at":"2026-01-25T13:32:34.646Z","avatar_url":"https://github.com/Dash-OS.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tcl 8.6.6 Enhanced Grammars\n\nThis is an enhanced grammar adding an extensive amount of command-specific\nhighlighting for Tcl.  This is far from completed and may exhibit odd\nbehavior at certain points but many of the core commands are handled\nproperly.\n\nThis is currently a work in progress and is missing some core handling\nand commands.  We are currently adding and building to it as we encounter\nissues with the highlighting while moving our projects to atom editor.\n\n\u003e Pull requests are more than welcome.  At the moment there are various scopes that\n\u003e need refinements as we perfect the expression handling, etc.  \n\n![image](https://i.imgur.com/lfPbjjP.png)\n\n## Comment Syntax\n\n![image](https://i.imgur.com/mPixeGi.png)\n\nThis grammar supports annotating within \"multi-line-comments\".  Tcl does not officially have a multi-line comment, however using `if 0 {}` is generally a way to accomplish this.  \n\nWe personally use `% {}` so it is currently expecting either of those to be multi-line.\nIt will highlight links.  If you also want to be able to click to open them, then you can\ninstall the excellent [Hyperclick](https://atom.io/packages/hyperclick) package along with\nthe [hyperlink-hyperclick](https://atom.io/packages/hyperlink-hyperclick) provider after which\nyou can open links with a ctrl/cmd + click.\n\n##### $ variables\n\nVariable within annotations are highlighted differently than normal variables\nwithin your code using the \"non-substituting-variable\" patterns.\n\n```tcl\n% { $::my::variable }\n```\n\n##### { curly bracket blocks }\n\nWhen a line starts with an opening curly bracket, it will be given\nstandard syntax highlighting.  This can be useful when providing\nexamples of calling a proc, etc.  These can span multiple lines.\n\n![image](https://i.imgur.com/2kluRAu.png)\n\n##### prop types\n\nWhen we want to provide a \"type\" that a value will be, we can brace it in curly braces.\nAs long as it is not the first item on a line, it will give it prop type highlighting.\n\nCurrently you may add a \"?\" or \"\\*\" value to indicate a value is required or optional.\n\n###### prop type properties\n\nIf we want to provide a type with arguments (such as giving the type of values within a list)\nwe can add \u003c or \u003e brackets after a types name and add the property within it.`\n\n###### prop types regexp\n\nIf we want to use a regular expression syntax w/ regexp highlighting, we can do so by using the\nby bracing the type within forward slashes (example: /[0-4]\\*/)\n\n![image](https://i.imgur.com/dKppzxk.png)\n\n##### @ properties\n\n@ properties allow you to dictate values such as properties in a dict, the return\nvalue, and more.  You can then include descriptions, types, and whatever else\nas desired.\n\nWhen a \"@\" is placed and a space is given immediately after, the line will\nbecome a title line which can be terminated with another @ on the same line or\na line break.\n\nProperty keys allow defining a value after them and standard highlighting\nsuch as `{$type}` apply as normal.\n\n| Kind | Keys |\n|-----|-----|\n| Title | @ Comment Title @ |\n| Categories | @type |\n| Property | @key, @prop, @arg, @args, @returns, @example, @if |\n| Misc | @$any |\n\n![image](https://i.imgur.com/RahE8HD.png)\n\n***and/or***\n\n```tcl\nif 0 { @ Cool Title @ }\n```\n\n## Extra Command Handling\n\nIn addition to the core Tcl commands, the grammar is also being built to\ncover many of our [\"Tcl Modules\"](https://github.com/Dash-OS/tcl-modules) utilities.  \n\n#### Tcl State Manager\n\n![image](http://i.imgur.com/meqfNqw.png)\n\n## Regular Expression Handling\n\nHandles regular expression highlighting when using curly-brackets to enclose\nthe expressions.  This will only work when used directly with the regexp /\nregsub commands as it is otherwise impossible to know that the values are\nregular expression.\n\n![image](http://i.imgur.com/lFF8zNX.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdash-os%2Fatom-language-dashtcl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdash-os%2Fatom-language-dashtcl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdash-os%2Fatom-language-dashtcl/lists"}