Note This module is the successor to
tkcode
, as it is deprecated - please do not use it any more.
Chlorophyll provides the CodeView
widget for tkinter, which is a Text
widget with syntax highlighting, line numbers, and works as a simple code editor. It is written in Python and uses the pygments
library for syntax highlighting and the TkLineNums
module for line numbers.
pip install chlorophyll
First, fork the repo, then run these commands in your terminal
git clone https://github.com/your-username/chlorophyll
cd chlorophyll
python3 -m venv env
source env/bin/activate
pip install -e .
Options | Description | Input |
---|---|---|
master | The parent widget | Tkinter widget |
lexer | The Language lexer | Pygments lexer |
color_scheme | A color scheme for the code | Dict, string, or toml file |
tab_width | The width of a tab (\t ) |
Int |
autohide_scrollbar | Auto hide scrollbars | Bool |
linenums_border | Border width of the line numbers | Int |
default_context_menu | Enable context menus in CodeView | Bool |
**kwargs | Keyword arguments for the widget | Any keyword arguments given to a Text widget |
from tkinter import Tk
import pygments.lexers
from chlorophyll import CodeView
root = Tk()
codeview = CodeView(root, lexer=pygments.lexers.RustLexer, color_scheme="monokai")
codeview.pack(fill="both", expand=True)
root.mainloop()
You can dynamically resize the CodeView window by using the resize_window method:
from tkinter import Tk
import pygments.lexers
from chlorophyll import CodeView
root = Tk()
# Create a CodeView instance with a Python lexer
codeview = CodeView(root, lexer=pygments.lexers.PythonLexer, color_scheme="monokai")
codeview.pack(fill="both", expand=True)
# Resize the CodeView widget to a specific width and height
codeview.resize_window(width=800, height=600)
root.mainloop()