README
ember language server extension
ember-language-server extension for coc.nvim
Install
Plug 'nullvoxpopuli/coc-ember', {'do': 'yarn install --frozen-lockfile'}
Minimum Config
Install vim-plug
Setup your (neo|oni)vim's config:
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'} Plug 'nullvoxpopuli/coc-ember', {'do': 'yarn install --frozen-lockfile'} call plug#end() let g:coc_global_extensions = [ \ 'coc-tsserver', \ 'coc-css', \ 'coc-json', \ 'coc-html', \ 'coc-vimlsp', \ 'coc-highlight' \ ]
Restart your editor, run
:PlugInstall
Navigate to an ember project and open (neo|oni)vim.
Done :)
To test this out with neovim:
- clone this repo
- 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
Additionally, @NullVoxPopuli's vim config can be found here
Features
- mu, pods, classic layouts support for app models definitions lookup, including js and ts files.
- mu, pods, classic layouts support for app transforms definitions lookup, including js and ts files.
- addon components and helpers definitions lookup
- AngleBracket components autocomplete (including addon-located components) for mu, pods, classic layouts.
- go-to routes, component properties, actions for mu, pods, classic
- go-to service declaration definition for classic components
- go-to ember/addon import support
- store.peekRecord, findRecord... model names autocomplete for classic
- belongsTo, hasMany model names autocomplete for classic
- transitionTo,.. routes autocomplete for classic
- named: service(name) services autocomplete
- template linting fix
- in-repo addons lookup (for classic and mu apps)
Screenshots