Modern code editor for 1337 H4X0Rs.
- Basic features:
- Unicode support
- Line numbers
- Custom syntax highlighting
- Selection
- Copy, deletion, cutting, pasting
- Basic VIM movement keys
- Mouse support
- Tabs, splits
- File modification detection
- Indent rainbow
- Indent guide
- Undo/Redo
- Modal editing
- Image viewing
- Eclipse IDE theme support
- Custom message dialogs, file dialogs and floating windows
- Recent file list
- LSP support:
- File open/close/change/willSave notifications
- Autocomplete
- Inline diagnostics
- Symbol hover
- Call help
- Go to definition/declaration/implementation
- Cross-file rename symbol
- Code actions
- Breadcrumb bar (using
textDocument/documentSymbol
) - Progress support
- Execute command request support
- Snippet autocompletion (with tabstops)
- Document formatting
- On type formatting
- Find workspace symbol
- Run-time configuration (using
workspace/configuration
)
- Basic Doxygen highlighting
- Autocompletion
- LSP (as already mentioned)
- Buffer words
- Dictionary words
- File paths
- Git support:
- Branch/tag/commit detection
- Line change signs
- Fast, GPU-accelerated Unicode text renderer with support for ANSI escape sequences and fallback fonts
- GPU-accelerated UI and image renderer
- Lightweight Unicode-aware logger
- CMake
- GLEW
- glfw
- glm
- freetype
- libgit2
- LspCpp dependencies:
- boost-filesystem
- boost-chrono
- boost-date-time
- boost-system
- boost-thread
- boost-program-options
- rapidjson
- utfcpp
Install them on Debian:
apt install cmake libglew-dev libglfw3-dev libglm-dev libfreetype-dev \
libgit2-dev libboost-filesystem-dev libboost-chrono-dev \
libboost-date-time-dev libboost-system-dev libboost-thread-dev \
libboost-program-options-dev rapidjson-dev libutfcpp-dev
- vscode-material-icon-theme for icons
- stb for image loading
- cJSON for JSON parsing
- LspCpp (fork of this) for LSP support
- MD4C for supporting Markdown in LSP responses
python3 init.py
mkdir build
cd build
cmake ..
make