88

GitHub - baabelfish/nvim-nim: Vim support for nim.

 6 years ago
source link: https://github.com/baabelfish/nvim-nim
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

nvim-nim

Nim support for vim and advanced support for neovim. Still in heavy development.

Features

  • Asynchronous
  • Up to date syntax highlighting
    • Normal vim highlight
    • More intelligent highlight with nimsuggest (experimental)
    • Semantic highlighting for specified nim symbol kinds (experimental)
  • Indentation
  • Error checking
  • Project navigation with nimsuggest
    • Jump to definition
    • Get symbol information (type, module, file, signature, etc...)
    • Find usages (file and/or project)
  • Autocompletion
    • Nimsuggest omnicompletion (still sync, deoplete/ycm incoming...)
    • Autocomplete module names (experimental)
  • IDE like stuff
    • Jump to documentation in web
    • Refactoring
      • Rename symbol in file or project
    • Outline listing all symbols in the module (like tagbar)
      • Jump to outline symbol with unite (experimental)
  • REPL (experimental)
    • Open repl
    • Send current buffer
    • Send selection

Installation

This plugin doesn't work if zah's nim plugin is installed.

Dependencies

  • Linux (OS X and Windows untested at the moment)

  • Nim (0.13.0)

  • Nimsuggest (0.13.0)

  • Neovim (1.2) or Vim (7.4)

    • NOTE: Vim is not currently supporting async features
  • Optional: vim-operator-user for defining routine text object

  • Optional: unite-outline for jumping to symbols inside module

  • Optional: YouCompleteMe for jumping to symbols inside module

  • Optional: Neomake for compilation errors

Configuration

Easiest way to install this plugin is with a plugin manager:

vim-plug

Plug "baabelfish/nvim-nim"

neobundle

NeoBundle "baabelfish/nvim-nim"

pathogen

git clone https://github.com/baabelfish/nvim-nim ~/.vim/bundle/nvim-nim

Screenshots

Syntax highlighting

Autocompletion

Symbol information and module outline

Symbol usage listing

Caveats (Will be fixed asap)

  • No support for main/project file yet
  • Launching new nimsuggest for every completion
  • Using stdio to communicate with nimsuggest
  • Docstring is still missing
  • Completion is a bit wonky with plain vim. Works well with YouCompleteMe

Planned features

  • Debugger support
  • Async autocomplete with deoplete (maybe a seperate plugin)

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK