Ehh... I hate Judge!
NeverJudge is a simple code editor with Openjudge remote integration, designed for assignments of Practice of Programming in 2025 Spring.
This project uses CMake for building and supports both MacOS and Linux systems, following the C++23 standard.
Necessary dependencies include:
Qt6: Framework used in the projectQTermWidget6: Terminal integrationQCoro6: Qt coroutine supporttree-sitter: Syntax highlighting foundation
Optional dependencies include:
tree-sitter-cpp,tree-sitter-python: Syntax highlighting supportclangd,pylsp: Language Server Protocol supportrequestsandBeautifulSouplibraries in Python: OpenJudge remote support
-
Clone the repository:
git clone https://github.com/LeoDreamer2004/Never-Judge.git cd Never-Judge -
Execute the following CMake commands in the project root directory:
cmake . -B build cmake --build build -
After building, the
NeverJudgeexecutable will be generated in thebuilddirectory. You can run it directly. -
The program configuration files are located in the system's default configuration directory:
- For Linux:
~/.config/never-judge - For MacOS:
~/Library/Application Support/never-judge
- For Linux:
- Dynamic detection on code modification
- Icon bar menu
- Preference settings
- Openjudge remote and personalization
- Feedback after submissions
- Code running config
- Deepseek Coder AI assistant
- Syntax highlighting (supported by tree-sitter)
- Bracket matching highlighting (partially implemented, difficult to achieve with current architecture) and quick comment
- Advanced coding analyses with Language Server Protocols (supported by Clangd and PyLSP)
Refer to report (Chinese) for more information.
See Bilibili video for group presentation.
GNU General Public License v3.0 (GPL-3.0)
