https://github.com/adamjosephmather/codewizard2
A rewritten CodeWizard (still c++ but without Qt). Oh and yes - it's better than CodeShizard.
https://github.com/adamjosephmather/codewizard2
Last synced: 6 months ago
JSON representation
A rewritten CodeWizard (still c++ but without Qt). Oh and yes - it's better than CodeShizard.
- Host: GitHub
- URL: https://github.com/adamjosephmather/codewizard2
- Owner: AdamJosephMather
- Created: 2025-07-09T20:06:35.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-17T22:06:43.000Z (12 months ago)
- Last Synced: 2025-07-17T22:52:10.471Z (12 months ago)
- Language: C++
- Size: 56.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CodeWizard2
A rewrite of CodeWizard. CodeWizard2 is *probably not* a useful project to anybody besides myself.
*However* it is **much** faster than some IDEs, particularly on laptops (maintaining 60fps until it transitions to 'sleep' mode).
*And* CodeWizard maintains under 100 Mb ram while running. Usually idles around 60-70 Mb (with several files open).
## What's Special?
1. CodeWizard2 now has custom rendering *without* a UI framework like Qt. CodeWizard2 uses OpenGL, and GLFW.
2. CodeWizard2 has a custom written remake of the TextMate highlighting engine (with several known issues) that works pretty well.
3. It contains a custom LSP implementation originally written for CodeWizard.
4. CodeWizard2 is *not* for the average person, there are a lot of undocumented features and key bindings. Which I am *not* changing right now.
5. We use a 'panel' such that you can have whatever arrangement of elements you want.
## Screenshot(s)
With transparency
Without transparency
I'm not showing off. You are. (This is the amazing widget system I designed)

## Widgets
CodeWizard2 uses `widgets`, of which we have:
1. Editor View (code, images)
2. File Tree
3. Settings Menu
4. File Compare (compairs two files)
5. AI Chat
6. LSP Debug Window
7. Terminal
## Quick Note
CodeWizard2 is only available on Windows. There is a modal option (which I quite enjoy but doesn't match any other editors) available in the settings.
## Important Key Bindings:
1. Ctrl+Shift+P focus the command palette.
2. Ctrl+Shift+O change project folder.
3. Ctrl+O open file.
4. Ctrl+Shift+U run project search through command palette.
5. Ctrl+> or Ctrl+< to jump brackets.
6. F5 run programs
## Out Of The Box
Out of the box, CodeWizard comes with a beautiful UI, Cascadia Code font, TextMate files for a bunch of languages, and `pypls`. Pypls is my LSP originally designed for python, but does pretty well in general.
## To install:
1. Download and run installer (in the releases section)
2. To add new languages languages for CodeWizard, open the file `C:\Users\\AppData\Local\CodeWizard\languages.json` (an example file is below)
3. For every language, you will likely want a TextMate file which you can point to in the languages.json (note `%INSTALL_DIR%` will be replaced with `C:\Users\\AppData\Local\CodeWizard`) - the TextMate language files can be found here: https://github.com/microsoft/vscode/tree/main/extensions (look for .tmLanguage.json)
4. Project specific settings can be created via opening the settings panel and pressing 'Project Specific' which will create a json file and give you the path. This can be used to set specific LSPs and the project build command.
Example languages.json
```json
{
"languages": [
{
"name": "c++",
"line_comment": "//",
"textmatefile": "%INSTALL_DIR%\\highlightingfiles\\cpp.tmLanguage.json",
"filetypes": ["cpp", "h", "hpp", "c"],
"lsp_command": "C:\\Users\\adamj\\Documents\\LanguageServers\\clangd_19.1.2\\bin\\clangd.exe",
"build_command": "cd /d %FILE_LOCATION% && call \"C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Auxiliary\\Build\\vcvarsall.bat\" x64 && cl.exe %FILE_NAME% && %FILE_NAME_NO_EXT%.exe"
},
{
"name": "python",
"line_comment": "#",
"textmatefile": "%INSTALL_DIR%\\highlightingfiles\\MagicPython.tmLanguage.json",
"filetypes": ["py", "pyw"],
"lsp_command": "jedi-language-server",
"build_command": "cd /d %FILE_LOCATION% && python %FILE_NAME%"
},
{
"name": "go",
"line_comment": "//",
"textmatefile": "%INSTALL_DIR%\\highlightingfiles\\go.tmLanguage.json",
"filetypes": ["go"],
"lsp_command": "gopls",
"build_command": "cd /d %FILE_LOCATION% && go run ."
},
{
"name": "r",
"line_comment": "#",
"textmatefile": "%INSTALL_DIR%\\highlightingfiles\\r.tmLanguage.json",
"filetypes": ["R", "R~"],
"lsp_command": "%INSTALL_DIR%\\pypls.exe",
"build_command": ""
}
]
}
```