Skip to content

gremlin-art/nim2_ide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

nim2_ide

Notepad++ plug-in IDE for Nim v2 programming language

Features

  • Full syntax highlighting lexer

    Highlight more Nim features than other lexers.

  • Unicode lexer

    Highlight Nim unicode operators.

  • Managed multi-thread backend

    No LSP bloat. Automatically prune threads and nimsuggest processes.

  • One nimsuggest per project

    Efficiently share one nimsuggest process among files in a directory tree.

  • Advanced features - using nimsuggest

    • Project aware
    • Context aware, intelligent code completion
    • Call tips
    • Real-time code analysis / linting
    • Detailed code analysis (on file save)
    • Highlight symbols (on scroll)
    • Hover (with mouse) for definition
    • Go to definition (on click)
    • Symbol usages / references
  • Pretty format - using nimpretty

  • Code folding

  • Compile project

  • Compile current file

  • Toggle features on/off

Requirements

  • Notepad++ x64 (8.6.4 to 8.8.5)
  • Nim v2 (2.0.2 to 2.2.4) IDE tools in your path - ie. nim, nimpretty, nimsuggest

Compatibility

  • Not compatible with other Notepad++ plug-in's written in Nim.
  • Some features not compatible with Notepad++ "Other view".

Installation

  1. Download from GitHub "Releases"
  2. Extract and copy files to your Notepad++ plugins directory:
cd "C:\Program Files\Notepad++\plugins"
mkdir nim2_ide
copy nim2_ide.dll nim2_ide\nim2_ide.dll
copy nim2_ide.xml Config\nim2_ide.xml
  1. Restart Notepad++

Notepad++ Configuration

  1. Prevent tab key from triggering auto-completion
    1. Go to Settings > Preferences... > Auto-Completion
    2. Check "Enable auto-completion on each input"
    3. Check "Function completion" radio button
    4. Uncheck "TAB" under Insert Selection
  2. Switch to a dark theme in Settings > Style Configurator...
  3. Select Nim 2 in Language > N... to activate plug-in for current tab.
  4. Optional: Toggle plug-in features by un/checking items in Plugins > Nim2 IDE
  5. Optional: Customize shortcuts in Macros > Modify Shortcut/Delete Macro... > Plugin commands