Repository navigation
Conversation
|
This PR removes Template Tag and adds GJS and GTS. Review for GJS 2026.09.10.07.17.42No failures, no warnings. 👍 About the entry here:
Review for GTS 2026.09.10.07.17.42No failures, no warnings. 👍 About the entry here:
|
|
I think this should be a single package providing both syntaxes as those seem to be basically just variants of the same syntax - https://guides.emberjs.com/v6.8.0/components/template-tag-format/ And the name should reflect the name of the language and not just be the file extension. Also, are there existing packages for this language already? There seem to be some old ones that reference Ember. But those probably don't achieve your goal of having separate scope for js/ts version. |
|
Hi, @rchl. Thanks for your help with review and providing feedback. While creating I tried your suggestion that a single package could work (I'd definitely favor this, as it reduces maintenance cost also on my side). It seemed like, if we update the configuration files Here are the pull requests for going with 1 package:
This would mean:
|
Code syntax and file type that Ember uses have changed over the years; it is more closely aligned to native JavaScript and TypeScript. To help write code in Sublime Text, we'd only need to support files with extensions Ember is currently on version 7.2. I'd say that many of these packages might have been useful up till 3.15, and should not be recommended and used anymore. (Version 3.16 introduced the "Octane edition," where the project structure and code syntax are close to what one may see nowadays.)
In short, there are no other packages that provide syntax highlighting for For I hope that this provides you additional information, in case you want to remove the outdated/unmaintained packages. |
I would probably rename the existing "Template Tag" package to "Glimmer" (use %YAML 1.2
---
name: Glimmer JS
scope: source.gjs
version: 2
extends:
- Packages/JavaScript/JavaScript.sublime-syntax
file_extensions:
- gjs
contexts:
# ...%YAML 1.2
---
name: Glimmer TS
scope: source.gts
version: 2
extends:
- Packages/JavaScript/TypeScript.sublime-syntax
file_extensions:
- gts
contexts:
# ...Then you could use this selector for LSP-ember: Disclaimer: I have zero experience with Ember/Glimmer/gjs/gts, so take this suggestion with a grain of salt. By the way, the |
Template Tag with GTS. Added GJS.Template Tag with Glimmer TS. Added Glimmer JS.
|
This PR removes Template Tag and adds Glimmer JS and Glimmer TS. Review for Glimmer JS 2026.09.14.08.07.45No failures, no warnings. 👍 About the entry here:
Review for Glimmer TS 2026.09.14.08.07.45No failures, no warnings. 👍 About the entry here:
|
|
Hi, @jwortmann. I appreciate the additional review and your feedback. Your understanding of
In LSP-ember#6, I kept the @rchl and @jwortmann: I propose that we go with the two-package approach, since it helps us capture what |
|
This PR removes Template Tag and adds Glimmer JS and Glimmer TS. Review for Glimmer JS 2026.09.14.08.07.45No failures, no warnings. 👍 About the entry here:
Review for Glimmer TS 2026.09.14.08.07.45No failures, no warnings. 👍 About the entry here:
|
If you want to do a PR, you need to modify this file: https://github.com/sublimelsp/LSP/blob/a06ad894afada7b262804ec2ed7d1957a1c5dcc4/plugin/core/constants.py#L280-L322 The decision is up to you, but I'd highly recommend to keep both syntaxes inside a single package and not split it into separate packages. GJS and GTS seem closely related to each other, and it is absolutely fine to have multiple related syntaxes in a single package. A split would just make it annoying for users that they have to install two separate packages. Also, if you have |
Ah, my bad. I had misunderstood @rchl's suggestion, "single package providing both syntaxes," as a single The
Going back to:
I agree that "Template Tag" sounds generic and might later be used differently in another context (another frontend framework). I'd still use it for the package name, because the term "Template Tag" is commonly used in Ember to refer to For additional info: The terms "Glimmer JS" and "Glimmer TS" might appear in the context of syntax highlighting and LSP, but aren't used colloquially to my knowledge. The term "Glimmer" is overloaded in Ember, so I'd avoid this for the package name. It is usually associated with the "Glimmer component," may sometimes refer to the packages Assuming we keep the package name, we can close this PR. (Sorry for the confusions, and thanks again for your feedbacks.) |
…mer JS`." This reverts commit 72de99e.
Template Tag with Glimmer TS. Added Glimmer JS.|
This PR changes Template Tag. Review for Template Tag main-9bf20c8-2026.09.14.15.10.57
No failures, no warnings. 👍 |
|
Follow-up on adding language IDs upstream: sublimelsp/LSP#3028 |
|
Both sublimelsp/LSP#3028 and sublimelsp/repository#173 have been merged, so I'll close this pull request. The package name |

Any commands are available via the command palette.Preferences and keybindings (if any) are listed in the menu and the command palette, and open in split view.My package helps Ember apps and addons use the
<template>tag to write components, routes, and test files. Such files have the file extension.gjs(JavaScript) or.gts(TypeScript).There are no packages like it in Package Control.
Background
The package
Template Tagcurrently handles both*.gjsand*.gtsfiles (see #9123). While developing an LSP (Language Server Protocol) for such files, I learned that it's better (possibly necessary) to have separate packages so that the underlying dependency@glint/tsserver-pluginknows which code to run based on the file extension.sublime-syntax-definition-template-tag contains both syntax definitions in the
mainbranch, and uses theglimmer-jsandglimmer-tsbranches (each branch uses.gitattributesto exclude the unnecessary definition) to provide two packages from one repo.