Language syntax, auto-completions and build system for Nullsoft Scriptable Install System (NSIS), as well as language syntax for NSIS Language Files (NLF).
You can further extend this package with snippets for third-party plug-ins.
language-nsis from Atom's Package Manager or the command-line equivalent:
$ apm install language-nsis
Change to your Atom packages directory:
# Windows$ cd %USERPROFILE%\.atom\packages# Linux & macOS$ cd ~/.atom/packages/
Clone repository as
$ git clone https://github.com/idleberg/atom-language-nsis language-nsis
Inside the cloned directory, install dependencies using your preferred Node package manager:
$ yarn || npm install
This package automatically installs third-party packages it depends on. You can prevent this by disabling the Manage Dependencies option in the package settings.
With most commands, you can specify available options before completion. For instance, rather than completing
RequestExecutionLevel and then specifying an option, you can directly choose
RequestExecutionLevel user from the completion menu.
However, you have to type
__LINE__ to complete to
There are several special cases for your convenience:
MessageBox MB_OK "messagebox_text"
onInitcompletes to a
Fuzzy syntax completions are available through the “Drunken NSIS” snippets, which iron out some of the inconsistencies of the NSIS language, for instance word order.
There are many ways to compile NSIS scripts in Atom. But before you read on, make sure
makensis is in your PATH environment variable.
As of recently, this package contains build system to compile your NSIS scripts. To trigger a build, select “NSIS: Save & Compile” from the command-palette or use the keyboard shortcut.
If you prefer working with specific compiler arguments, you can specify them in the package settings. Optionally, you can also specify the path to
"language-nsis":compilerArguments: ["/WX", "/V3"]pathToMakensis: "C:\\Program Files (x86)\\NSIS\\makensis.exe"
Should you prefer working with an existing third-party build system, the following packages already have support for NSIS.
build– requires additional provider (e.g.
Project files for
build can be created by executing “NSIS: Create .atom-build file” from the command-palette or using the keyboard shortcut. An equivalent for building on Wine is also available. You can specify your preferred build file syntax (CSON/JSON/YAML) in the package settings.
You can set up
atom-runner by executing “NSIS: Set default runner” from the command-palette or packages menu. To remove it, use “NSIS: Remove default runner”.
v6.5.0, a basic Atom linter provider for
makensis is included. By default, NSIS documents get linted when opened or saved. Make sure to refer to the
linter-makensis documentation to learn about available lint modes and other settings.
There are several other, previously unmentioned commands available from the command-palette:
||Look up NSIS command online|
||Opens settings page|
||Install missing package dependencies|
||Shows current version of NSIS|
||Shows output of
||Converts NLF to JSON and vice versa|
You are welcome to support this project using Flattr or Bitcoin
Good catch. Let us know what about this package looks wrong to you, and we'll investigate right away.