# zufuliu/notepad4

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/zufuliu-notepad4).**

4,437 stars · 292 forks · C++ · other

## Links

- GitHub: https://github.com/zufuliu/notepad4
- awesome-repositories: https://awesome-repositories.com/repository/zufuliu-notepad4.md

## Topics

`arm64` `dark-theme` `editor` `matepath` `metapath` `noteoad2` `notepad2-mod` `notepad4` `scintilla` `syntax-highlighting`

## Description

Notepad4 is a lightweight, native Windows text editor built on the Scintilla editing component and rendered through the Win32 API. It is designed as a direct replacement for the default Windows Notepad, offering a faster, feature-rich editing experience with system-level integration such as Explorer context menu registration, taskbar jump list support, and the ability to intercept system notepad requests.

The editor distinguishes itself with a context-sensitive completion engine that filters suggestions based on preceding punctuation and document content, alongside CPU-optimized encoding detection that leverages SSE2, AVX2, or AVX512 instructions for accelerated text processing. It includes inline color preview calltips that display a color swatch when hovering over hex or 0x color codes, and supports tab-triggered conversion of LaTeX abbreviations and emoji sequences into Unicode characters. The application also provides lexer-driven syntax highlighting with runtime-loaded language definitions, code folding, auto-indentation, and automatic insertion of braces, quotes, and closing markup tags.

Beyond its core editing capabilities, Notepad4 offers Base64 encoding and decoding of selected text, text occurrence highlighting with match counts, and locale-specific behavior adaptation for dialog layouts and keyboard bindings. The project supports multiple compilation methods across Visual Studio, GCC/Clang, Intel Compiler, and LLVM Clang toolchains, with options for CPU instruction optimization and legacy Windows compatibility.

## Tags

### User Interface & Experience

- [Scintilla-Based Editors](https://awesome-repositories.com/f/user-interface-experience/text-editing-components/scintilla-based-editors.md) — Uses the Scintilla editing component for syntax highlighting, code folding, and text manipulation across multiple languages.
- [Syntax Highlighting Editors](https://awesome-repositories.com/f/user-interface-experience/markdown-and-syntax-highlighting/syntax-highlighting-editors.md) — Applies language-specific colorization to source code, making keywords, strings, and comments visually distinct. ([source](https://github.com/zufuliu/notepad4/tree/main/doc/))
- [Raw Win32 UI Renderers](https://awesome-repositories.com/f/user-interface-experience/native-ui-component-libraries/native-ui-renderers/raw-win32-ui-renderers.md) — Renders the entire interface using raw Win32 API calls without any framework or toolkit abstraction.
- [Syntax Highlighters](https://awesome-repositories.com/f/user-interface-experience/syntax-highlighters.md) — Applies color-coded highlighting by loading language-specific lexer definitions at runtime.
- [File Explorer Context Menus](https://awesome-repositories.com/f/user-interface-experience/context-menu-customizations/application-launch-menus/file-explorer-context-menus.md) — Registers the editor in the file or folder context menu so users can open items directly from Explorer. ([source](https://github.com/zufuliu/notepad4/wiki/System-Integration))
- [Editor Color Previews](https://awesome-repositories.com/f/user-interface-experience/editor-color-previews.md) — Displays a color swatch inside a tooltip when hovering over hex or 0x color codes in the editor.

### Part of an Awesome List

- [Document-Aware Word Completions](https://awesome-repositories.com/f/awesome-lists/devtools/search-libraries/auto-complete-libraries/document-aware-word-completions.md) — Shows a list of matching words from keywords, types, functions, and the current document as the user types. ([source](https://github.com/zufuliu/notepad4/wiki/Auto-Completion-in-Notepad4))
- [Punctuation-Triggered Completion Filters](https://awesome-repositories.com/f/awesome-lists/devtools/search-libraries/auto-complete-libraries/document-aware-word-completions/punctuation-triggered-completion-filters.md) — Limits the auto-completion list to words relevant to the preceding punctuation character, such as #, @, or <. ([source](https://github.com/zufuliu/notepad4/wiki/Auto-Completion-in-Notepad4))

### Development Tools & Productivity

- [Auto-closing Brackets](https://awesome-repositories.com/f/development-tools-productivity/auto-closing-brackets.md) — Inserts the matching closing punctuation after typing an opening brace, bracket, quote, or backtick. ([source](https://github.com/zufuliu/notepad4/wiki/Auto-Completion-in-Notepad4))
- [Automatic Tag Closing](https://awesome-repositories.com/f/development-tools-productivity/automatic-tag-closing.md) — Automatically adds a closing tag when typing the opening tag's closing angle bracket in markup languages. ([source](https://github.com/zufuliu/notepad4/wiki/Auto-Completion-in-Notepad4))
- [Automatic Brace and Quote Insertions](https://awesome-repositories.com/f/development-tools-productivity/brace-placement-standardization/automatic-brace-and-quote-insertions.md) — Inserts the closing brace, bracket, or quote automatically when you type the opening one. ([source](https://cdn.jsdelivr.net/gh/zufuliu/notepad4@main/README.md))
- [Code Completion](https://awesome-repositories.com/f/development-tools-productivity/code-completion.md) — Suggests and inserts completions for words or code tokens as the user types. ([source](https://github.com/zufuliu/notepad4/tree/main/doc/))
- [Contextual Word and Function Completions](https://awesome-repositories.com/f/development-tools-productivity/code-completion/contextual-word-and-function-completions.md) — Suggests words and functions based on the current context and automatically closes braces, brackets, and quotes. ([source](https://cdn.jsdelivr.net/gh/zufuliu/notepad4@main/README.md))
- [Context-Sensitive](https://awesome-repositories.com/f/development-tools-productivity/completion-engines/context-sensitive.md) — Suggests completions filtered by preceding punctuation and document content for words and functions.
- [Text Editors](https://awesome-repositories.com/f/development-tools-productivity/text-editors.md) — A lightweight editor with code folding, auto-indentation, and color preview for developers.
- [Inline Text Transformations](https://awesome-repositories.com/f/development-tools-productivity/text-encoding-utilities/inline-text-transformations.md) — Provides inline color previews, Base64 encoding/decoding, and LaTeX-to-Unicode conversion during text editing.

### Operating Systems & Systems Programming

- [System Text Editors](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/os-specific-integration-modules/windows-system-integrations/system-text-editors.md) — A system text editor that integrates with Explorer context menus and taskbar jump lists.
- [Notepad Replacement Registrations](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-registry-modifications/notepad-replacement-registrations.md) — Intercepts system notepad requests and registers context menus through Windows Registry entries.
- [Encoding Detection Optimizations](https://awesome-repositories.com/f/operating-systems-systems-programming/cpu-instruction-optimizations/encoding-detection-optimizations.md) — Uses SSE2, AVX2, or AVX512 instructions to accelerate line-ending detection and text encoding operations.

### Software Engineering & Architecture

- [Code Folding](https://awesome-repositories.com/f/software-engineering-architecture/code-edit-formats/structural-folding/code-folding.md) — Collapses and expands sections of code (e.g., functions, loops) to hide or reveal their content. ([source](https://github.com/zufuliu/notepad4/wiki/Screenshots))
- [Typing-Time Auto Indenters](https://awesome-repositories.com/f/software-engineering-architecture/indentation-engines/typing-time-auto-indenters.md) — Adjusts line indentation automatically as you type to keep formatting consistent. ([source](https://cdn.jsdelivr.net/gh/zufuliu/notepad4@main/README.md))

### Programming Languages & Runtimes

- [Abbreviation Expanders](https://awesome-repositories.com/f/programming-languages-runtimes/unicode-management/abbreviation-expanders.md) — Converts LaTeX abbreviations and emoji sequences into Unicode characters when the Tab key is pressed.
