Atom: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
 
(18 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
 
=== 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/language-nlf NSIS Language File]
* [http://atom.io/packages/language-nsl nsL Assembler]


== Installation ==
== Installation ==
Line 7: Line 25:
=== Atom Package Manager (apm) ===
=== Atom Package Manager (apm) ===


1. Make sure you have Atom (with apm) [installed https://atom.io/docs/v1.0.0/getting-started-installing-atom#atom-on-windows]<br/>
Install package from <code>apm install language-nsis</code> (or use the GUI)
2. Install package apm install "language-nsis"


=== Git  ===
=== Git  ===
Line 14: Line 31:
Change to the Atom package directory and clone the repository:
Change to the Atom package directory and clone the repository:


git clone <nowiki>https://github.com/idleberg/language-nsis.git</nowiki>
<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