NotepadLite LBSong
winget install --id=LBSong.NotepadLite -e A lightweight Windows desktop text editor with syntax highlighting and regex search & replace.
winget install --id=LBSong.NotepadLite -e A lightweight Windows desktop text editor with syntax highlighting and regex search & replace.
NotepadLite is a lightweight Windows desktop text editor written in C#. The current implementation starts with a fast WPF shell, a UI-independent document core, and a syntax-definition pipeline that loads a practical subset of Notepad++ user-defined language XML files from disk.
net10.0-windowssrc/NotepadLite.App contains the WPF shell and editor integration.src/NotepadLite.Core contains document and file services.src/NotepadLite.Syntax contains the language-definition model and UDL importer.tests/NotepadLite.Syntax.Tests contains automated tests for the importer.assets/languages contains built-in sample language definitions copied into the app output.dotnet restore NotepadLite.slnx
dotnet build NotepadLite.slnx
dotnet run --project src/NotepadLite.App/NotepadLite.App.csproj
To open a file directly at startup:
dotnet run --project src/NotepadLite.App/NotepadLite.App.csproj -- "C:\path\to\file.json"
dotnet test NotepadLite.slnx
The repository includes a self-contained Windows installer package. Running the packaged installer copies the app to C:\Program Files\NotepadLite, registers an uninstall entry, creates a Start menu shortcut, and adds a Windows Explorer right-click command named Open with NotepadLite for all files.
Build the installer package with:
powershell -ExecutionPolicy Bypass -File .\scripts\build-installer.ps1
Outputs:
artifacts\publish\NotepadLite\win-x64artifacts\installer\NotepadLiteartifacts\installer\NotepadLite-Installer.zipTo install on a machine, open artifacts\installer\NotepadLite and run Install-NotepadLite.cmd. The installer will request elevation because it installs machine-wide.
Built-in language definitions are copied from assets/languages into the app output under Assets/Languages.
User-added definitions can be dropped into:
%LocalAppData%\NotepadLite\Languages
The current importer supports:
name and ext on UserLangKeywordsKeywords entry named OperatorsCommentsDelimiter elementsThe current importer does not attempt full Notepad++ compatibility. Unsupported constructs are reported in the diagnostics area instead of being silently approximated.
Windows Explorer can launch the editor from a file right-click menu once the app accepts a file path argument. The installer package now creates this integration automatically.
If you need a manual fallback after copying the app to a stable path, use scripts/notepadlite-context-menu.reg, which points to the default installer location.
Example .reg content:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\*\shell\OpenWithNotepadLite]
@="Open with NotepadLite"
"Icon"="C:\\Program Files\\NotepadLite\\NotepadLite.App.exe"
[HKEY_CURRENT_USER\Software\Classes\*\shell\OpenWithNotepadLite\command]
@="\"C:\\Program Files\\NotepadLite\\NotepadLite.App.exe\" \"%1\""
Notes:
HKEY_LOCAL_MACHINE, while the .reg file uses HKEY_CURRENT_USER as a no-installer fallback.