• Stars
    star
    640
  • Rank 70,324 (Top 2 %)
  • Language
    Lua
  • License
    MIT License
  • Created about 4 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor for programmers.

Textadept

Textadept is a fast, minimalist, and remarkably extensible cross-platform text editor for programmers. Written in a combination of C, C++, and Lua and relentlessly optimized for speed and minimalism for more than 12 years, Textadept is an ideal editor for programmers who want endless extensibility without sacrificing speed and disk space, and without succumbing to code bloat and a superabundance of features. The application has both a graphical user interface (GUI) version that runs in a desktop environment, and a terminal version that runs within a terminal emulator.

Linux macOS Windows Terminal

Features

  • Fast and minimalist.
  • Cross platform, and with a terminal version, too.
  • Self-contained executable -- no installation necessary.
  • Support for over 100 programming languages.
  • Unlimited split views.
  • Can be entirely keyboard driven.
  • Powerful snippets and key commands.
  • Code autocompletion and documentation lookup.
  • Remarkably extensible, with a heavily documented Application Programming Interface (API).

Textadept

Requirements

In its bid for minimalism, Textadept depends on very little to run. On Windows and macOS, it has no external dependencies. On Linux, the GUI version depends only on either Qt or GTK (cross-platform GUI toolkits), and the terminal version depends only on a wide-character implementation of curses like ncurses(w). Lua and any other third-party dependencies are compiled into the application itself.

Download

Textadept releases can be found here. Select the appropriate package for your platform. A comprehensive list of changes between releases can be found here. You can also download a separate set of modules that provide extra features and functionality to the core application.

Installation and Usage

Textadept comes with a comprehensive user manual in its docs/ directory. It covers all of Textadept's main features, including installation, usage, configuration, theming, scripting, and compilation.

Since nearly every aspect of Textadept can be scripted using Lua, the editor's API is heavily documented. This API documentation is also located in docs/. It serves as the ultimate resource when it comes to scripting the application.

Compile

Textadept can be built on Windows, macOS, or Linux using CMake. CMake will automatically detect which platforms you can compile Textadept for (e.g. Qt, GTK, and/or Curses) and build for them. On Windows and macOS you can then use CMake to create a self-contained application to run from anywhere. On Linux you can either use CMake to install Textadept, or place compiled binaries into Textadept's root directory and run it from there.

General Requirements:

  • CMake 3.16+
  • A C and C++ compiler, such as:
  • A UI toolkit (at least one of the following):
    • Qt 5 or Qt 6 development libraries for the GUI version
    • GTK 3 development libraries for the GUI version (GTK 2.24 is also supported)
    • ncurses(w) development libraries (wide character support) for the terminal version

Basic procedure:

  1. Configure CMake to build Textadept by pointing it to Textadept's source directory (where CMakeLists.txt is) and specifying a binary directory to compile to.
  2. Build Textadept.
  3. Either copy the built Textadept binaries to Textadept's directory or use CMake to install it.

For example:

cmake -S . -B build_dir -D CMAKE_BUILD_TYPE=RelWithDebInfo \
  -D CMAKE_INSTALL_PREFIX=build_dir/install
cmake --build build_dir -j # compiled binaries are in build_dir/
cmake --install build_dir # self-contained installation is in build_dir/install/

CMake boolean variables that affect the build:

  • NIGHTLY: Whether or not to build Textadept with bleeding-edge dependencies (i.e. the nightly version). Defaults to off.
  • QT: Unless off, builds the Qt version of Textadept. The default is auto-detected.
  • GTK3: Unless off, builds the Gtk 3 version of Textadept. The default is auto-detected.
  • GTK2: Unless off, builds the Gtk 2 version of Textadept. The default is auto-detected.
  • CURSES: Unless off, builds the Curses (terminal) version of Textadept. The default is auto-detected.

For more information on compiling Textadept, please see the manual.

Contribute

Your donation helps fund Textadept's continuous development.

Textadept is open source. Feel free to discuss features, report bugs, and submit patches. You can also contact me personally (orbitalquark att triplequasar.com).

More Repositories

1

scintillua

Scintillua enables Scintilla lexers to be written in Lua, particularly using LPeg. It can also be used as a standalone Lua library for syntax highlighting support.
Lua
51
star
2

lua-quick-reference

Lua Quick Reference Book
C
39
star
3

textadept-lsp

Language server protocol client module for Textadept.
Lua
28
star
4

scinterm

Scinterm is a curses platform for Scintilla that supports ncurses, PDCurses, and X/Open Curses.
C++
21
star
5

lupa

Lupa is a Jinja2 template engine implementation written in Lua and supports Lua syntax within tags and variables.
Lua
16
star
6

textadept-file-diff

Two-way file comparison module for Textadept.
Lua
12
star
7

gtdialog

gtDialog is a cross-platform application for creating interactive dialogs from either the command line or from an application.
C
11
star
8

textadept-modules

Formerly a set of modules that provide extra features and functionality for Textadept. This repository has been replaced by individual module repositories at https://github.com/orbitalquark?tab=repositories
C
8
star
9

textadept-debugger

Language debugging module for Textadept.
Lua
8
star
10

textadept-lua-repl

A Textadept module for loading an interactive Lua REPL.
Lua
8
star
11

textadept-format

Code formatting module for Textadept.
Lua
5
star
12

.textadept

My ~/.textadept/
Lua
5
star
13

textadept-spellcheck

Spell checking module for Textadept.
Lua
5
star
14

textadept-yaml

YAML language module for Textadept.
Makefile
5
star
15

tslexia

A Scintilla lexer that makes use of Tree-sitter parsers
C++
4
star
16

textadept-go

Go language module for Textadept.
Lua
4
star
17

textadept-python

Python language module for Textadept.
Python
4
star
18

textadept-css

CSS language module for Textadept.
Lua
4
star
19

textadept-html

HTML language module for Textadept.
Lua
3
star
20

textadept-export

Textadept module for outputting source files into various formats like HTML.
Lua
3
star
21

lua-std-regex

A simple Lua wrapper around C++11's regex capabilities to implement regex versions of Lua's string library pattern matching routines
C++
3
star
22

lua-yottadb

Lua bindings for YottaDB
Lua
3
star
23

textadept-ruby

Ruby language module for Textadept.
Lua
3
star
24

textadept-build

Cache of mostly static build dependencies for Textadept intended for use by [nightly] build actions.
3
star
25

textadept-open-file-mode

A Textadept module that extends the editor's Command Entry with a mode that can open files relative to the current file or directory. Tab-completion is available.
Lua
3
star
26

textadept-rest

reStructuredText module for Textadept
Lua
2
star
27

textadept-ctags

Utilize Ctags with Textadept.
Lua
2
star
28

textadept-scratch

Treat untitled buffers as persistent scratch buffers
Lua
1
star