Obsidian.mp4
A simple yet customizable code editor built using Tkinter, inspired by the aesthetics of Obsidian. This project leverages the tklinenums
library for line number integration and idlelib
for syntax highlighting.
- Syntax Highlighting: Supports highlighting for common programming constructs like comments, keywords, built-in functions, strings, definitions, and numbers.
- Line Numbers: Integrated line numbers for easy code navigation.
- Customizable Themes: Easily switch between light and dark themes (Tokyo Night and Tokyo Light included) by modifying the
settings.json
file. Themes define colors for various UI elements and syntax highlighting. - Clean UI: Minimalist design for a focused coding experience.
- Prerequisites: Ensure you have Python 3 installed.
- Clone the Repository:
git clone https://github.com/Manavalan2517/Obsidian---Code-Editor.git
- Install Dependencies:
pip install -r requirements.txt
- Run the application: Navigate to the project directory and execute the main Python script (the specific script isn't provided in the given files, but assuming it's named
main.py
):python main.py
- Switching Themes: Modify the
themePath
value inObsidian/themes/settings.json
to point to the desired theme JSON file (e.g.,"./Themes/tokyo-light.json"
).
- Themes: Create your own themes by duplicating one of the existing theme JSON files and modifying the color values. The theme files use hexadecimal color codes. Refer to the existing themes for the available color keys.
- Font: Change the font in the
editor.py
file by modifying thefont
argument in theself.configure
call.
Contributions are welcome! Feel free to open issues and pull requests.
tklinenums
: For providing the line numbers functionality.idlelib
: For providing the syntax highlighting functionality.
- File Handling: Implement file opening, saving, and closing features.
- More Languages: Extend syntax highlighting to support more programming languages.
- Autocompletion: Add autocompletion functionality for enhanced coding efficiency.
- Search and Replace: Implement search and replace within the editor.
- Code Folding: Add code folding capabilities to manage complex code structures.
This enhanced README provides a more comprehensive overview of the Obsidian Code Editor, including installation instructions, usage details, customization options, contribution guidelines, and potential future improvements. It also incorporates the provided GIF demo and clarifies the project's purpose and features. Remember to replace main.py
with the actual name of your main script.