npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@eflexsystems/coc-ember

v1.5.22-6

Published

Ember language server extension for coc.nvim

Downloads

17

Readme

ember language server extension

ember-language-server extension for coc.nvim

Install

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'
\ ]

Starting from Scratch

  1. For the fanciest experience, install the neovim nightly release

  2. Install vim-plug

  3. 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'}
    
    call plug#end()
    
    
    let g:coc_global_extensions = [
      \ 'coc-actions',
      \ 'coc-tsserver',
      \ 'coc-css',
      \ 'coc-json',
      \ 'coc-html',
      \ 'coc-vimlsp',
      \ 'coc-highlight',
      \ 'coc-ember'
    \ ]
  4. Restart your editor, run :PlugInstall

  5. Navigate to an ember project and open (neo|oni)vim.

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

Additionally, @NullVoxPopuli's vim config can be found here

Features

from @lifeart's PR

  • 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)

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)

Screenshots

Helper or Component Helpers Error

Contributing

NOTE: development will not work on Windows machines, as all the scripts are in Bash and expect *nix compatibility

  • fork repo
  • make modifications
  • Open PR <3

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