{"id":15015942,"url":"https://github.com/ember-tooling/ember-language-server","last_synced_at":"2026-03-08T12:01:05.783Z","repository":{"id":40951305,"uuid":"78017628","full_name":"ember-tooling/ember-language-server","owner":"ember-tooling","description":"Language Server Protocol implementation for Ember.js projects","archived":false,"fork":false,"pushed_at":"2025-05-02T12:07:02.000Z","size":2741,"stargazers_count":105,"open_issues_count":12,"forks_count":39,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-05-02T13:20:06.596Z","etag":null,"topics":["ember","ember-cli","glimmer","javascript","language-server-protocol"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ember-tooling.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-01-04T13:24:14.000Z","updated_at":"2025-05-02T12:07:05.000Z","dependencies_parsed_at":"2024-02-12T22:43:17.249Z","dependency_job_id":"6ef70379-51c8-42f0-a7ea-34a9211b5cd2","html_url":"https://github.com/ember-tooling/ember-language-server","commit_stats":{"total_commits":969,"total_committers":31,"mean_commits":"31.258064516129032","dds":0.4293085655314758,"last_synced_commit":"966b1bd9b4b0f4ddaa5fa75a98105bdc6900a7e8"},"previous_names":["emberwatch/ember-language-server"],"tags_count":82,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ember-tooling%2Fember-language-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ember-tooling%2Fember-language-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ember-tooling%2Fember-language-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ember-tooling%2Fember-language-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ember-tooling","download_url":"https://codeload.github.com/ember-tooling/ember-language-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553959,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ember","ember-cli","glimmer","javascript","language-server-protocol"],"created_at":"2024-09-24T19:48:11.334Z","updated_at":"2026-03-08T12:01:05.771Z","avatar_url":"https://github.com/ember-tooling.png","language":"TypeScript","funding_links":[],"categories":["Tools"],"sub_categories":["IDE Support"],"readme":"# Ember Language Server\n\n[![Greenkeeper badge](https://badges.greenkeeper.io/lifeart/ember-language-server.svg)](https://greenkeeper.io/)\n\nThe Ember Language Server (ELS) implements the [Language Server Protocol](https://github.com/Microsoft/language-server-protocol) for Ember.js projects. ELS enables editors to provide features like auto complete, goto definition and diagnostics. To get these features, you have to install the plugin for your editor.\n\n## Features\n\nAll features currently only work in Ember CLI application that use the default classic structure, and are a rough first draft with a lot of room for improvements. Pods and addons are not supported yet.\n\n- Autocompletion\n  - `*.{js/ts}`: services, models, routes, transforms\n  - `*.hbs`: components, route names, helpers, modifiers, local paths, arguments\n  - Namespaces support (batman syntax)\n\n- Template linting\n  - works only if `ember-template-lint` dependency added into project.\n  - [ember-template-lint](https://github.com/ember-template-lint/ember-template-lint) (`v2`, `v3`, `v4`) integration, including documentation links and auto fixes\n  - template linting inside `.js` and `.ts` files (with `hbs` literal)\n  - experimental linting inside `.gjs` and `.gts` files (with `\u003ctemplate\u003e` tag)\n\n- Definition providers for (enable features like \"Go To Definition\" or \"Peek Definition\"):\n  - Components (in Templates)\n  - Helpers (in Templates)\n  - Modifiers (in Templates)\n  - Models\n  - Transforms\n  - Component imports (from addons)\n  - Namespace components (batman syntax)\n\n- Route autocompletion in `link-to` and `\u003cLinkTo\u003e` components.\n- Outlet jumping\n- Workspaces support\n- Supports Ignoring of LS initialization on unneeded projects by using `ignoredProjects` config option, if you need \"exclude except\" functionality, specify project name as `!my-project`.\n\n## Editor Plugins\n\n* VSCode: [Unstable Ember Language Server](https://github.com/lifeart/vscode-ember)\n* Neo (Vim): [coc-ember](https://github.com/NullVoxPopuli/coc-ember), [native LSP integration](https://github.com/neovim/nvim-lspconfig/blob/master/doc/configs.md#ember)\n* Emacs using [lsp-mode](https://github.com/emacs-lsp/lsp-mode)\n* GitPod, Onivim, Coder, VSCodium, and Theia using [Open VSX](https://open-vsx.org/extension/lifeart/vscode-ember-unstable)\n\n## Addons available for install\n\n* [els-addon-glint](https://github.com/lifeart/els-addon-glint) - Glint integration addon.\n* [els-a11y-addon](https://github.com/lifeart/els-a11y-addon) - Ember Language Server a11y addon.\n* [els-addon-typed-templates](https://github.com/lifeart/els-addon-typed-templates) - Typed Templates for Ember.\n* [els-addon-docs](https://github.com/lifeart/els-addon-docs) - Ember Language Server Addon Docs Completion Provider.\n* [ember-fast-cli](https://github.com/lifeart/ember-fast-cli) - Addon for Ember-cli commands execution.\n* [els-component-extraction-addon](https://github.com/lifeart/els-component-extraction-addon) - Component extraction addon.\n* [els-intl-addon](https://github.com/lifeart/els-intl-addon) - Ember-Intl, Ember-i18n autocomplete.\n\n## Addon notes:\n\n- all addons could be added as dev-dependency for a project\n- dev-dependency installation allow us to have independent versions of addons for different projects\n- for global addon installation check LS settings in your editor (you have to specify path to addon root in LS config)\n- you could [build](https://github.com/lifeart/ember-language-server/wiki/Addon-API) your project-specific addon\n\n---\n\n# Integration details\n\n## Server entrypoints\n\n`lib/start-server.js` - nodejs\n\n`lib/start-worker-server.js` - worker\n## Server options\n\n```js\nnew Server({fs, type})\n```\n\n\n`fs` - available options:\n  * `sync` - LS should use nodejs.fs logic\n  * `async` - LS should use client's fs provider\n\n`type` - available options:\n  * `node` - supported addons \u0026 require logic\n  * `worker` - addons and require logic not supported\n\n---\n\n### [Debugging](DEBUGGING.md)\n\n---\n### [Changelog](CHANGELOG.md)\n\n---\n\n## License\n\n[MIT](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fember-tooling%2Fember-language-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fember-tooling%2Fember-language-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fember-tooling%2Fember-language-server/lists"}