Skip to content

MLeidel/CodeScriber

Repository files navigation

CodeScriber

A Desktop Code Editor for Linux and Windows

Uses "web app" technology via Python, pywebview, Ace Code Editor API

diagram

CodeScriber uses the "Ace" Code Editor - a Javascript library.

For detailed information about "Ace" visit the Ace website

CodeScriber is a desktop application. All the software runs on the local machine.
However, the "Ace" library is loaded from cdnjs.cloudflare.com,
and the AI feature requires an Internet connection.

CodeScriber is written completely in scripting languages:
HTML, CSS, Javascript, Python3, making it almost completely available to modification.

The editor resides in a python script that communicates with Javascript (Gtk WebKit2 engine,
edgechromium for Windows) via the pywebview python module. This design allows access to the user's host machine and the use of HTML/Javascript for the GUI.

See https://ace.c9.io for information on the Ace Code Editor.

Features:

  • Syntax highlighting
  • Multi Session Interface
  • OpenAI chat compleation for coding
  • Auto indentation and outdent
  • An optional command line
  • Work with large documents (handles hundreds of thousands of lines without issue)
  • Fully customizable key bindings including vi and Emacs modes
  • Themes and many language models
  • Search and replace with regular expressions
  • Highlight matching parentheses
  • Toggle between soft tabs and real tabs
  • Displays hidden characters
  • Highlight selected word
  • Multiple cursor selection
  • Column select and edit mode
  • Customizable Keyword code snipits
  • Drag & Drop to open file
  • Markdown
  • Spell check
  • Find File
  • Sort
  • Recent Files
  • Context Menu
  • Optional file backups
  • Snipit Management

Documentation

CodeScriber combines the following technologies:

  • python (pywebview, markdown, tkinter.ttk)
  • javascript
  • API (ace.js)
  • css
  • html

Default language modes:

python, c, html, css, markdown, javascript, bash, sql, golang, json
Modify this list in filemodes.js - see File Modes under Options menu.

CodeScriber

Documentation


About

A scripted desktop code editor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published