Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (30 sloc) 2.65 KB


Build status

Notepad++ plugin for Lua scripting capabilities. This provides control over all of Scintilla's features and options with a light-weight, fully-functional programming language.

Major features include:

  • Assign Lua functions to shortcut keys
  • Register callback functions for events
  • Full Lua 5.3 functionality
  • Interactive console with auto-completion
  • Requires no special permissions

Getting Started

Install the plugin using the Notepad++ Plugin Manager, or download it from the Release page and copy LuaScript.dll to your \plugins folder.

Lua Console

LuaScript provides an interactive console for running Lua commands. This can be shown by Plugins > LuaScript > Show Console.

Startup Script

LuaScript looks for the \plugins\config\startup.lua file and automatically runs it on Notepad++ startup. You can easily edit this file via Plugins > LuaScript > Edit Startup Script. You can include any commands you want to immediately execute on program startup, as well as register any additional shortcuts or callbacks.

Registering New Shortcuts

New functions can be added as shortcuts by using AddShortcut. The new menu items are listed under the Plugins > LuaScript menu. For example this script adds 2 new menu items.

Registering Callback Functions

Scripts can also register functions to be called when certain events occur, such as a file being opened, text being modified, etc. Each callback provides a different set of parameters. See the documentation for callbacks to see the entire list of possible events and parameters provided.


The full API documentation can be found here. Also be sure to check out the examples directory.


The code has been developed using MSVC 2015. To compile the code:

  1. Open the LuaScript.sln file
  2. Press F7 and that's it!

For convenience, MSVC automatically copies the DLL into the Notepad++ plugin directory.


This code is released under the GNU General Public License version 2.


Special thanks to the PythonScript plugin and SciTE.

You can’t perform that action at this time.