Skip to content

BrunoV21/chlorophyll

 
 

Repository files navigation

Chlorophyll

Note This module is the successor to tkcode, as it is deprecated - please do not use it any more.

Description

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.

Installation

pip install chlorophyll

Development install

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 .

Documentation

CodeView Widget

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

Basic Usage:

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()

Resizing CodeView Window

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()

About

A Tkinter widget that fills your code with color

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%