Atom: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(add screenshot, link further NSIS packages)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Description ==
== Description ==


[http://atom.io/ Atom] language support for NSIS
An all around NSIS language package for GitHub's new [http://atom.io/ Atom] editor


=== Grammar ===
Syntax highlighting of all commands in NSIS versions 2.46 & 3.0b1 and their included plug-ins
=== Completions ===
Tab-completions for syntax, useful snippets for quick scaffolding


https://raw.githubusercontent.com/idleberg/atom-language-nsis/master/screenshot.gif
https://raw.githubusercontent.com/idleberg/atom-language-nsis/master/screenshot.gif


Further Atom packages for [http://atom.io/packages/search?utf8=%E2%9C%93&q=keyword:nsis #nsis] are available, adding support for:
=== Extension Packages ===
 
You can further extend [http://atom.io/packages/search?utf8=%E2%9C%93&q=keyword:nsis #nsis] support in Atom.


* [http://atom.io/packages/nsis-plugins 3rd party plug-ins]
* [http://atom.io/packages/nsis-plugins 3rd party plug-ins]
* [http://atom.io/packages/language-nlf localization]
* [http://atom.io/packages/language-nlf NSIS Language File]
* [http://atom.io/packages/language-nsl nsL Assembler]
* [http://atom.io/packages/language-nsl nsL Assembler]


Line 22: Line 31:
Change to the Atom package directory and clone the repository:
Change to the Atom package directory and clone the repository:


<code>git clone <nowiki>https://github.com/idleberg/language-nsis.git</nowiki></code>
<code>git clone <nowiki>https://github.com/idleberg/atom-language-nsis.git language-nsis</nowiki></code>
 
== Usage ==
 
=== Completion ===
 
With most commands, you can specify available options before completion. For instance, rather than completing <code>RequestExecutionLevel</code> and then specifying an option, you can directly choose <code>RequestExecutionLevel user</code> from the completion menu.
 
To complete compile time commands, variables or predefines, *leave out* special characters:
 
* <code>include</code> completes to <code>!include</code>
* <code>INSTDIR</code> completes to <code>$INSTDIR</code>
* <code>NSIS_VERSION</code> completes to <code>${NSIS_VERSION}`</code>
 
However, you have to type <code>__LINE___</code> to complete to <code>${__LINE__}</code>.
 
There are several special cases for your convenience:
 
* <code>MB_OK</code> completes to <code>MessageBox MB_OK</code>
* <code>onInit</code> completes to a <code>Function .onInit</code> block
* <code>LogicLib</code> completes to <code>!include "LogicLib.nsh"`</code>
 
=== Building ===
 
There are many ways to compile NSIS scripts in Atom. But before we go into detail, make sure makensis is in your PATH [http://superuser.com/a/284351/195953 PATH environmental variable].
 
As of v4.0.0 of this package, you can compile scripts without relying on third-party packages. To do so, select “NSIS: Save & Compile” from the command-palette or use the shortcut <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>M</kbd> (that's <kbd>Shift</kbd>+<kbd>Alt</kbd>+<kbd>M</kbd> on Windows.)
 
==== Third-party packages ====
 
In addition to that, you can choose from the following build packages to compile NSIS:
 
* [https://atom.io/packages/build build] with build provider (e.g. [https://atom.io/packages/build-makensis build-makensis]), supports [https://atom.io/packages/linter linter]
* [https://atom.io/packages/script script]
* [https://atom.io/packages/atom-runner atom-runner]
* [https://github.com/mirhec/atom-build atom-build]


== Links ==
== Links ==
* [https://github.com/idleberg/language-nsis GitHub]<br />
* [https://github.com/idleberg/language-nsis GitHub]<br />
* [https://atom.io/packages/language-nsis Atom Packages]<br />


[[Category:Syntax_Highlighting]]
[[Category:Syntax_Highlighting]]
[[Category:Development Environments]]

Latest revision as of 16:16, 28 May 2016

Description

An all around NSIS language package for GitHub's new Atom editor

Grammar

Syntax highlighting of all commands in NSIS versions 2.46 & 3.0b1 and their included plug-ins

Completions

Tab-completions for syntax, useful snippets for quick scaffolding

screenshot.gif

Extension Packages

You can further extend #nsis support in Atom.

Installation

Atom Package Manager (apm)

Install package from apm install language-nsis (or use the GUI)

Git

Change to the Atom package directory and clone the repository:

git clone https://github.com/idleberg/atom-language-nsis.git language-nsis

Usage

Completion

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.

To complete compile time commands, variables or predefines, *leave out* special characters:

  • include completes to !include
  • INSTDIR completes to $INSTDIR
  • NSIS_VERSION completes to ${NSIS_VERSION}`

However, you have to type __LINE___ to complete to ${__LINE__}.

There are several special cases for your convenience:

  • MB_OK completes to MessageBox MB_OK
  • onInit completes to a Function .onInit block
  • LogicLib completes to !include "LogicLib.nsh"`

Building

There are many ways to compile NSIS scripts in Atom. But before we go into detail, make sure makensis is in your PATH PATH environmental variable.

As of v4.0.0 of this package, you can compile scripts without relying on third-party packages. To do so, select “NSIS: Save & Compile” from the command-palette or use the shortcut Ctrl+Alt+M (that's Shift+Alt+M on Windows.)

Third-party packages

In addition to that, you can choose from the following build packages to compile NSIS:

Links