{"id":29563619,"url":"https://github.com/adamjosephmather/codewizard2","last_synced_at":"2026-01-04T02:15:54.617Z","repository":{"id":303868762,"uuid":"1016965322","full_name":"AdamJosephMather/CodeWizard2","owner":"AdamJosephMather","description":"A rewritten CodeWizard (still c++ but without Qt). Oh and yes - it's better than CodeShizard.","archived":false,"fork":false,"pushed_at":"2025-07-17T22:06:43.000Z","size":59636,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-17T22:52:10.471Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamJosephMather.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-09T20:06:35.000Z","updated_at":"2025-07-17T22:06:46.000Z","dependencies_parsed_at":"2025-07-10T06:51:35.740Z","dependency_job_id":null,"html_url":"https://github.com/AdamJosephMather/CodeWizard2","commit_stats":null,"previous_names":["adamjosephmather/codewizard2"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/AdamJosephMather/CodeWizard2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJosephMather%2FCodeWizard2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJosephMather%2FCodeWizard2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJosephMather%2FCodeWizard2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJosephMather%2FCodeWizard2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamJosephMather","download_url":"https://codeload.github.com/AdamJosephMather/CodeWizard2/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamJosephMather%2FCodeWizard2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265810400,"owners_count":23831951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-18T18:36:30.097Z","updated_at":"2026-01-04T02:15:54.612Z","avatar_url":"https://github.com/AdamJosephMather.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CodeWizard2\n\nA rewrite of CodeWizard. CodeWizard2 is *probably not* a useful project to anybody besides myself.  \n*However* it is **much** faster than some IDEs, particularly on laptops (maintaining 60fps until it transitions to 'sleep' mode).\n*And* CodeWizard maintains under 100 Mb ram while running. Usually idles around 60-70 Mb (with several files open).\n\n## What's Special?\n\n1. CodeWizard2 now has custom rendering *without* a UI framework like Qt. CodeWizard2 uses OpenGL, and GLFW.\n2. CodeWizard2 has a custom written remake of the TextMate highlighting engine (with several known issues) that works pretty well.\n3. It contains a custom LSP implementation originally written for CodeWizard.\n4. CodeWizard2 is *not* for the average person, there are a lot of undocumented features and key bindings. Which I am *not* changing right now.\n5. We use a 'panel' such that you can have whatever arrangement of elements you want.\n\n## Screenshot(s)\n\nWith transparency\n\u003cimg width=\"2256\" height=\"1432\" alt=\"image\" src=\"https://github.com/user-attachments/assets/cd6998c2-cf84-44cc-8898-06054b0a0a1a\" /\u003e\nWithout transparency\n\u003cimg width=\"2256\" height=\"1432\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d4a06326-08f5-40ef-bbe7-05050708fa9b\" /\u003e\nI'm not showing off. You are. (This is the amazing widget system I designed)\n\u003cimg width=\"2256\" height=\"1432\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8d2af0d9-8c84-48d0-8d9e-9743b7348102\" /\u003e\n\n\n## Widgets\n\nCodeWizard2 uses `widgets`, of which we have:\n1. Editor View (code, images)\n2. File Tree\n3. Settings Menu\n4. File Compare (compairs two files)\n5. AI Chat\n6. LSP Debug Window\n7. Terminal\n\n## Quick Note\n\nCodeWizard2 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.\n\n## Important Key Bindings:\n\n1. Ctrl+Shift+P focus the command palette.\n2. Ctrl+Shift+O change project folder.\n3. Ctrl+O open file.\n4. Ctrl+Shift+U run project search through command palette.\n5. Ctrl+\u003e or Ctrl+\u003c to jump brackets.\n6. F5 run programs\n\n## Out Of The Box\n\nOut 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.\n\n## To install:\n\n1. Download and run installer (in the releases section)\n2. To add new languages languages for CodeWizard, open the file `C:\\Users\\\u003cusername\u003e\\AppData\\Local\\CodeWizard\\languages.json` (an example file is below)\n3. 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\\\u003cusername\u003e\\AppData\\Local\\CodeWizard`) - the TextMate language files can be found here: https://github.com/microsoft/vscode/tree/main/extensions (look for .tmLanguage.json)\n4. 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.\n\nExample languages.json\n```json\n{\n\"languages\": [\n\t{\n\t\t\"name\": \"c++\",\n\t\t\"line_comment\": \"//\",\n\t\t\"textmatefile\": \"%INSTALL_DIR%\\\\highlightingfiles\\\\cpp.tmLanguage.json\",\n\t\t\"filetypes\": [\"cpp\", \"h\", \"hpp\", \"c\"],\n\t\t\"lsp_command\": \"C:\\\\Users\\\\adamj\\\\Documents\\\\LanguageServers\\\\clangd_19.1.2\\\\bin\\\\clangd.exe\",\n\t\t\"build_command\": \"cd /d %FILE_LOCATION% \u0026\u0026 call \\\"C:\\\\Program Files\\\\Microsoft Visual Studio\\\\2022\\\\Community\\\\VC\\\\Auxiliary\\\\Build\\\\vcvarsall.bat\\\" x64 \u0026\u0026 cl.exe %FILE_NAME% \u0026\u0026 %FILE_NAME_NO_EXT%.exe\"\n\t},\n\t{\n\t\t\"name\": \"python\",\n\t\t\"line_comment\": \"#\",\n\t\t\"textmatefile\": \"%INSTALL_DIR%\\\\highlightingfiles\\\\MagicPython.tmLanguage.json\",\n\t\t\"filetypes\": [\"py\", \"pyw\"],\n\t\t\"lsp_command\": \"jedi-language-server\",\n\t\t\"build_command\": \"cd /d %FILE_LOCATION% \u0026\u0026 python %FILE_NAME%\"\n\t},\n\t{\n\t\t\"name\": \"go\",\n\t\t\"line_comment\": \"//\",\n\t\t\"textmatefile\": \"%INSTALL_DIR%\\\\highlightingfiles\\\\go.tmLanguage.json\",\n\t\t\"filetypes\": [\"go\"],\n\t\t\"lsp_command\": \"gopls\",\n\t\t\"build_command\": \"cd /d %FILE_LOCATION% \u0026\u0026 go run .\"\n\t},\n\t{\n\t\t\"name\": \"r\",\n\t\t\"line_comment\": \"#\",\n\t\t\"textmatefile\": \"%INSTALL_DIR%\\\\highlightingfiles\\\\r.tmLanguage.json\",\n\t\t\"filetypes\": [\"R\", \"R~\"],\n\t\t\"lsp_command\": \"%INSTALL_DIR%\\\\pypls.exe\",\n\t\t\"build_command\": \"\"\n\t}\n]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamjosephmather%2Fcodewizard2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamjosephmather%2Fcodewizard2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamjosephmather%2Fcodewizard2/lists"}