{"id":13600679,"url":"https://github.com/NullVoxPopuli/coc-ember","last_synced_at":"2025-04-11T00:31:44.980Z","repository":{"id":37271451,"uuid":"197204317","full_name":"NullVoxPopuli/coc-ember","owner":"NullVoxPopuli","description":"ember-language-server integration with coc, an intellisense / language server engine for (neo)vim","archived":false,"fork":false,"pushed_at":"2024-10-23T16:39:40.000Z","size":2880,"stargazers_count":32,"open_issues_count":19,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-25T03:27:21.978Z","etag":null,"topics":["addon","coc","ember","ember-language-server","extension","language-server","neovim","tooling","typescript","vim"],"latest_commit_sha":null,"homepage":null,"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/NullVoxPopuli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2019-07-16T13:56:12.000Z","updated_at":"2024-05-30T02:39:28.000Z","dependencies_parsed_at":"2024-02-23T22:23:56.781Z","dependency_job_id":"bb1dbd19-ffae-4bb1-aee4-52352ccbea2e","html_url":"https://github.com/NullVoxPopuli/coc-ember","commit_stats":{"total_commits":996,"total_committers":7,"mean_commits":"142.28571428571428","dds":0.5763052208835342,"last_synced_commit":"99c41e0813efaeb0e3965dd2aad976ca85f40889"},"previous_names":[],"tags_count":81,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullVoxPopuli%2Fcoc-ember","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullVoxPopuli%2Fcoc-ember/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullVoxPopuli%2Fcoc-ember/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NullVoxPopuli%2Fcoc-ember/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NullVoxPopuli","download_url":"https://codeload.github.com/NullVoxPopuli/coc-ember/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248322402,"owners_count":21084334,"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":["addon","coc","ember","ember-language-server","extension","language-server","neovim","tooling","typescript","vim"],"created_at":"2024-08-01T18:00:46.465Z","updated_at":"2025-04-11T00:31:40.884Z","avatar_url":"https://github.com/NullVoxPopuli.png","language":"TypeScript","funding_links":[],"categories":["Language Support"],"sub_categories":[],"readme":"# ember language server extension\n\n\u003e [ember-language-server](https://github.com/lifeart/ember-language-server) extension for [coc.nvim](https://github.com/neoclide/coc.nvim)\n\n## Install\n\nVia Plug\n```\nPlug 'nullvoxpopuli/coc-ember', {'do': 'yarn install --frozen-lockfile'}\n```\n\nOr via the automatically kept up-to-date config var:\n\n```\nlet g:coc_global_extensions = [\n  \\ 'coc-ember'\n\\ ]\n```\n\n### Starting from Scratch\n\n0. For the fanciest experience, install [the neovim nightly release](https://github.com/neovim/neovim/releases/)\n1. Install [vim-plug](https://github.com/junegunn/vim-plug)\n2. Setup your (neo|oni)vim's config:\n\n    ```vim\n    call plug#begin('~/.local/share/nvim/plugged')\n\n      \" Highlighting and language support\n      Plug 'leafgarland/typescript-vim'\n      Plug 'joukevandermaas/vim-ember-hbs'\n\n      \" CoC / Intellisense\n      Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}\n\n    call plug#end()\n\n\n    let g:coc_global_extensions = [\n      \\ 'coc-actions',\n      \\ 'coc-tsserver',\n      \\ 'coc-css',\n      \\ 'coc-json',\n      \\ 'coc-html',\n      \\ 'coc-vimlsp',\n      \\ 'coc-highlight',\n      \\ 'coc-ember'\n    \\ ]\n    ```\n\n3. Restart your editor, run `:PlugInstall`\n4. Navigate to an ember project and open (neo|oni)vim.\n\nDone :)\n\nTo test this out with neovim:\n1. clone this repo\n2. go to an ember project and run `nvim . -u path/to/repo/docs/minimal-config.vim`\n\nThere are two working neovim single-file configs in this repo\n - [minimal](/docs/minimal-config.vim)\n - [recommended](/docs/recommended-config.vim)\n\nAdditionally, [@NullVoxPopuli's vim config can be found here](https://github.com/NullVoxPopuli/dotfiles/blob/master/home/.config/nvim/init.vim)\n\n## Features\n\n[from @lifeart's PR](https://github.com/emberwatch/ember-language-server/pull/173)\n\n- mu, pods, classic layouts support for app models definitions lookup, including js and ts files.\n- mu, pods, classic layouts support for app transforms definitions lookup, including js and ts files.\n- addon components and helpers definitions lookup\n- AngleBracket components autocomplete (including addon-located components) for mu, pods, classic layouts.\n- go-to routes, component properties, actions for mu, pods, classic\n- go-to service declaration definition for classic components\n- go-to ember/addon import support\n- store.peekRecord, findRecord... model names autocomplete for classic\n- belongsTo, hasMany model names autocomplete for classic\n- transitionTo,.. routes autocomplete for classic\n- named: service(name) services autocomplete\n- template linting fix\n- in-repo addons lookup (for classic and mu apps)\n\nOther Features:\n- Component and helper autocompletion for inline and sub expressions\n- Definition providers for (enable features like \"Go To Definition\" or \"Peek Definition\"):\n  - Components (in Templates)\n  - Helpers (in Templates)\n  - Models\n  - Transforms\n- Route autocompletion in link-to\n- Diagnostics for ember-template-lint (if it is included in a project)\n\n## Screenshots\n\n\n![Helper or Component](/docs/images/helper-or-component.png?raw=true)\n![Helpers](/docs/images/helpers.png?raw=true)\n![Error](/docs/images/error.png?raw=true)\n\n\n## Contributing\n\nNOTE: development will not work on Windows machines, as all the scripts are in Bash\n      and expect *nix compatibility\n\n- fork repo\n- make modifications\n- Open PR \u0026lt;3\n\n\n**Testing**\n- be in coc-ember root directory\n- `./scripts/prepublish.sh`\n- `yarn link`\n- test in your own ember project via\n  - :CocList extensions\n  - cd to the extensions path (the folder containing a package.json, on linux: `~/.config/coc/extensions/`)\n  - `yarn link coc-ember`\n  - restart (neo)vim\n\n\n**Debugging**\n\nNOTE: `./scripts/prepublish.sh` needs be run initially. Afterwards, the following may be used to rebuild each sub-tool, depending on what you're changing.\n- `yarn build:js` - coc-ember\n- `yarn build:addons` - the UELS addons bundled with coc-ember\n\n\nGenerally\n- be in ember project\n- open (neo)vim\n\nViewing Logs\n- Optionally launch with `NVIM_COC_LOG_LEVEL=debug nvim .`\n  - This is very verbose, but is the only way to have stack traces printed\n- `:CocOpenLog` to view log.\n  - `:e` to refresh the log\n\nDebugging Chrome Dev Tools\n```\n:let g:coc_node_args = ['--nolazy', '--inspect-brk=6045']`\n:CocRestart\n```\nThen visit chrome://inspect/#devices\n\nMore info:\nhttps://github.com/neoclide/coc.nvim/wiki/Debug-coc.nvim#get-result-from-console\n\n\n### To use local coc-ember in your nvim\n\nThese steps are handy for reporting issues\n\n* in `\u003ccoc-ember\u003e`\n  * `yarn`\n  * `./scripts/prepublish.sh`\n  * `yarn link`\n* in `\u003cyour ember project\u003e`\n  * either\n    * use your own configuration\n      * `cd ~/.config/coc/extensions \u0026\u0026 yarn link coc-ember`\n      * open nvim, don't update dependencies\n    * or use a minimal config\n      * `nvim -u \u003ccoc-ember\u003e/docs/minimal-config.vim`\n      * `:PlugInstall`\n      * `cd ~/.config/coc/extensions \u0026\u0026 yarn link coc-ember`\n      * then back in your project: `nvim -u \u003ccoc-ember\u003e/docs/minimal-config.vim`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNullVoxPopuli%2Fcoc-ember","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNullVoxPopuli%2Fcoc-ember","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNullVoxPopuli%2Fcoc-ember/lists"}