ember-language-server extension for coc.nvim
Via Plug
Plug 'nullvoxpopuli/coc-ember', {'do': 'yarn install --frozen-lockfile'}
Or via the automatically kept up-to-date config var:
let g:coc_global_extensions = [
\ 'coc-ember'
\ ]
Setup your (neo|oni)vim's config:
```vim call plug#begin('~/.local/share/nvim/plugged')
" Highlighting and language support Plug 'leafgarland/typescript-vim' Plug 'joukevandermaas/vim-ember-hbs'
" CoC / Intellisense Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
call plug#end()
let g:coc_global_extensions = [ \ 'coc-actions', \ 'coc-tsserver', \ 'coc-css', \ 'coc-json', \ 'coc-html', \ 'coc-vimlsp', \ 'coc-highlight', \ 'coc-ember' \ ] ```
Restart your editor, run :PlugInstall
Done :)
To test this out with neovim:
1. clone this repo
2. go to an ember project and run nvim . -u path/to/repo/docs/minimal-config.vim
There are two working neovim single-file configs in this repo - minimal - recommended
Additionally, @NullVoxPopuli's vim config can be found here
Other Features: - Component and helper autocompletion for inline and sub expressions - Definition providers for (enable features like "Go To Definition" or "Peek Definition"): - Components (in Templates) - Helpers (in Templates) - Models - Transforms - Route autocompletion in link-to - Diagnostics for ember-template-lint (if it is included in a project)

NOTE: development will not work on Windows machines, as all the scripts are in Bash and expect *nix compatibility
Testing
- be in coc-ember root directory
- ./scripts/prepublish.sh
- yarn link
- test in your own ember project via
- :CocList extensions
- cd to the extensions path (the folder containing a package.json, on linux: ~/.config/coc/extensions/)
- yarn link coc-ember
- restart (neo)vim
Debugging
NOTE: ./scripts/prepublish.sh needs be run initially. Afterwards, the following may be used to rebuild each sub-tool, depending on what you're changing.
- yarn build:js - coc-ember
- yarn build:addons - the UELS addons bundled with coc-ember
Generally - be in ember project - open (neo)vim
Viewing Logs
- Optionally launch with NVIM_COC_LOG_LEVEL=debug nvim .
- This is very verbose, but is the only way to have stack traces printed
- :CocOpenLog to view log.
- :e to refresh the log
Debugging Chrome Dev Tools
:let g:coc_node_args = ['--nolazy', '--inspect-brk=6045']`
:CocRestart
Then visit chrome://inspect/#devices
More info: https://github.com/neoclide/coc.nvim/wiki/Debug-coc.nvim#get-result-from-console
These steps are handy for reporting issues
<coc-ember>yarn./scripts/prepublish.shyarn link<your ember project>cd ~/.config/coc/extensions && yarn link coc-embernvim -u <coc-ember>/docs/minimal-config.vim:PlugInstallcd ~/.config/coc/extensions && yarn link coc-embernvim -u <coc-ember>/docs/minimal-config.vim$ claude mcp add coc-ember \
-- python -m otcore.mcp_server <graph>