145 lines
6.2 KiB
Text
145 lines
6.2 KiB
Text
*nim.txt* All you need working with Nim in Vim
|
|
|
|
|
|
==============================================================================
|
|
CONTENTS *nim-contents*
|
|
|
|
1.Introduction..........................................|NimIntro|
|
|
2.Features..............................................|NimFeatures|
|
|
2.1.Syntax highlighting.............................|NimSyntaxHL|
|
|
2.2.Nimsuggest interaction..........................|NimSuggest|
|
|
2.1.Get symbol information......................|NimSInfo|
|
|
2.2.Goto symbol.................................|NimSGoto|
|
|
2.3.Find usages.................................|NimSUsages|
|
|
2.4.Refactoring.................................|NimSRefactoring|
|
|
2.5.Outline (symbols in a module)...............|NimSOutline|
|
|
3.Options...............................................|NimOptions|
|
|
3.1.Option summary..................................|NimOptionSummary|
|
|
3.2.Option details..................................|NimOptionDetails|
|
|
4.Nim Keymappings.......................................|NimKeymappings|
|
|
5.About.................................................|NimAbout|
|
|
6.License...............................................|NimLicense|
|
|
|
|
==============================================================================
|
|
1.Introduction *NimIntro*
|
|
|
|
==============================================================================
|
|
2.Features *NimFeatures*
|
|
- It's... Asynchronous!
|
|
- Syntax highlighting
|
|
- Normal vim highlight
|
|
- More intelligent highlight with nimsuggest
|
|
- Semantic highlighting for specified nim symbol kinds
|
|
- Indentation
|
|
- Error checking
|
|
- Using ``:make``
|
|
- Neomake
|
|
- Project navigation with nimsuggest
|
|
- Jump to definition
|
|
- Get symbol information (type, module, file, signature, etc...)
|
|
- Find usages (file and/or project)
|
|
- Autocompletion
|
|
- Nimsuggest omnicompletion
|
|
- Autocomplete module names
|
|
- IDE like stuff
|
|
- Outline listing all symbols in the module (like tagbar)
|
|
- Jump to documentation in web
|
|
- Refactoring
|
|
- Rename symbol in file or project
|
|
- REPL
|
|
- Open repl
|
|
- Send current buffer
|
|
- Send selection
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
2.1.Syntax highlighting *NimSyntaxHL*
|
|
|
|
2.1.1Intelligent with nimsuggest *NimSyntaxHLI*
|
|
|
|
Nimsuggest has the ability to highlight symbols in a buffer intelligently.
|
|
When you declare your on proc it gives you the highlight information for
|
|
every usage of that proc. When your routine call fails, your syntax
|
|
highlighting will fail too.
|
|
|
|
2.1.2Semantic highlighting *NimSyntaxHLI*
|
|
|
|
With the nimsuggest highlihgting it is possible to distinguish between
|
|
different symbol types. You can specify which symbol kinds you want to
|
|
be highlighted by hash made from their name.
|
|
|
|
In case of
|
|
|
|
for idx 1..10:
|
|
for jdx 1..0:
|
|
(idx * jdx).echo
|
|
|
|
all cases of idx will be highlighted with their own random color and jdx
|
|
with their own.
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
2.2.Nimsuggest interaction *NimSuggest*
|
|
|
|
Nimsuggest is a tool replacing the original nim idetools. This plugin
|
|
aims to use information given from nimsuggest to the fullest.
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
2.1.Get symbol information *NimSInfo*
|
|
|
|
|
|
|
|
|
|
------------------------------------------------------------------------------
|
|
2.2.Goto symbol *NimSGoto*
|
|
|
|
------------------------------------------------------------------------------
|
|
2.3.Find usages *NimSUsages*
|
|
|
|
------------------------------------------------------------------------------
|
|
2.4.Refactoring *NimSRefactoring*
|
|
|
|
------------------------------------------------------------------------------
|
|
2.5.Outline (symbols in a module) *NimSOutline*
|
|
|
|
==============================================================================
|
|
3.Options *NimOptions*
|
|
|
|
------------------------------------------------------------------------------
|
|
3.1.Option summary *NimOptionSummary*
|
|
|
|
------------------------------------------------------------------------------
|
|
3.2.Option details *NimOptionDetails*
|
|
|
|
==============================================================================
|
|
4.Nim Keymappings *NimKeymappings*
|
|
|
|
==============================================================================
|
|
5.About *NimAbout*
|
|
|
|
==============================================================================
|
|
6.License *NimLicense*
|
|
|
|
The MIT License (MIT)
|
|
Copyright (c) 2016 Niko Junkala
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
in the Software without restriction, including without limitation the rights
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
THE SOFTWARE.
|