Plugins for the Pragtical text editor, originally forked from the lite plugins repository.
If you can't find a plugin that suits your needs, check if someone has already created an issue about it, otherwise feel free to create one yourself.
To install a plugin:
-
If the plugin links to a repository, follow its
README
. -
If the plugin is a single file or directory, drop it directly in:
- Linux
~/.config/pragtical/plugins/
- MacOS
~/.config/pragtical/plugins/
- Windows
C:\Users\(username)\.config\pragtical\plugins\
- Linux
Or, if you have a Pragtical plugin manager, such as ppm
,
you may install plugins by doing
ppm install plugin_name
Note: if you make a pull request, do not edit this README.md file, as it's autogenerated; the manifest.json file should be updated to include any new plugins added, as specified in the Pragtical plugin manifest specification.
Please note, that in this official repository, any plugins that specify a remote
must also
pin the remote to a specific commit hash. Any plugin that is hosted not in a repository,
but only with a url
must provide a checksum
that matches the existing plugin.
Any commits specified with a remote
will automatically be checked for updates to the latest
branch, and PRs will
automaticaly be created for them on a recurring basis to keep things up to date. Stubs can specify an alternate branch
to follow with extra.follow_branch
.
Any non-conforming PRs will not be accepted. The table below will be updated automatically.
Any entries marked with an asterisk are hosted on external repositories.
Plugin | Description |
---|---|
align_carets |
Align multiple carets and selections (clip) |
autoinsert |
Automatically inserts closing brackets and quotes. Also allows selected text to be wrapped with brackets or quotes. |
autosave |
Automatically saves files when they are changed |
autosaveonfocuslost |
Automatically saves files that were changed when the main window loses focus by switching to another application |
autowrap |
Automatically hardwraps lines when typing |
base16 * |
Theme manager with base16 color schemes for Lite XL. |
bigclock |
Shows the current time and date in a view with large text (screenshot) |
black * |
Integrates the black Python formatter with lite |
bracketmatch |
Underlines matching pair for bracket under the caret (screenshot) |
build * |
Provides a build system, messages window, and easily clickable errors. Supports an internal build system, and make . (screenshot) |
centerdoc |
Centers document's content on the screen and adds zen mode support (screenshot) |
cleanstart |
Hides the treeview at start if no arguments passed to the executable are directories. Compatible with lite. |
codeplus * |
Offers improvements such as highlighted comments and autocomplete for brackets, quotes and more. (demo) |
colorpicker |
Color picker dialog that supports html and rgb notations. |
colorpreview |
Underlays color values (eg. #ff00ff or rgb(255, 0, 255) ) with their resultant color. (screenshot) |
console * |
A console for running external commands and capturing their output (gif) |
copyfilelocation |
Copy file location to clipboard |
custom_caret |
Customize the caret in the editor |
datetimestamps |
Insert date-, time- and date-time-stamps |
debugger * |
Provides a debugger integration, with pluggable backends. Currently supports only gdb. (screenshot) |
devicons * |
PerilousBooklet's treeview icons for software developers. |
discord-presence * |
Adds the current workspace and file to your Discord rich presence. Linux-only. |
dragdropselected |
Provides basic drag and drop of selected text (in same document) |
easingpreview * |
Adds a popup that displays the curve of Penner-styled easing functions. |
editorconfig |
EditorConfig implementation for Lite XL |
endwise * |
Add end tags in variety of languages. Similar to Vim Endwise |
eofnewline * |
Make sure the file ends with one blank line. |
ephemeral_tabs |
Preview tabs. Opening a doc will replace the contents of the preview tab. Marks tabs as non-preview on any change or tab double clicking. |
equationgrapher * |
Graphs y=x equations. |
eval |
Replaces selected Lua code with its evaluated result |
evergreen * |
Adds Treesitter syntax highlighting support |
exec |
Runs selected text through shell command and replaces with result |
extend_selection_line |
When a selection crosses multiple lines, it is drawn to the end of the screen (screenshot) |
exterm * |
Allows to open an external console in current project directory |
fontconfig |
Allows users to load fonts with fontconfig. |
fontpreview |
Automatically displays a font with increasing sizes in a new view. |
force_syntax |
Change the syntax used for a file. |
formatter * |
Code formatter for various languages |
ghmarkdown |
Opens a preview of the current markdown file in a browser window (screenshot) Note: the page content is generated by sending the markdown file to Github's markdown rendering API. Requires a GitHub token being provided |
gitblame * |
Shows "git blame" information of a line (screenshot) |
gitdiff_highlight * |
highlight changed lines from git (screenshot) |
gitopen |
Open project files that are in a git commit (default=HEAD) |
gitstatus |
Displays git branch and insert/delete count in status bar (screenshot) |
gofmt |
Auto-formats the current go file, adds the missing imports and the missing return cases |
gui_filepicker |
Graphical filepicker using zenity or kdialog. |
ide * |
A metapackage that provides the minimum functionalities for Lite XL to run as a minimal IDE. |
ide_c * |
A metapackage that turns Lite XL into an IDE for C/C++. |
ide_java * |
A metapackage that turns Lite XL into an IDE for Java. |
ide_javascript * |
A metapackage that turns Lite XL into an IDE for Javascript. |
ide_lua * |
A metapackage that turns Lite XL into an IDE for Lua. |
ide_python * |
A metapackage that turns Lite XL into an IDE for Python. |
ide_rust * |
A metapackage that turns Lite XL into an IDE for Rust. |
ide_tex * |
A metapackage that turns Lite XL into an IDE for TeX. |
ide_typescript * |
A metapackage that turns Lite XL into an IDE for Typescript. |
ide_zig * |
A metapackage that turns Lite XL into an IDE for Zig. |
immersive-title * |
Dark (or even Mica!) title bar for Lite XL |
indent_convert |
Convert between tabs and spaces indentation |
indentguide |
Adds indent guides (screenshot) |
input_latency |
Generates input latency stats by measuring time taken from key press to rendering. |
keyhud * |
Simple key HUD for Lite XL |
keymap_export |
Exports the keymap to a JSON file. |
kinc-projects * |
Adds Kinc Project generation with basic build commands(depends on console ) |
lfautoinsert |
Automatically inserts indentation and closing bracket/text after newline |
linenumbers |
The ability to change the display of the line number (screenshot) |
link_opener * |
Detects and underlines URLs in files, and enables a context menu entry and a hotkey to open them in the default browser. |
lintplus * |
Advanced linter with ErrorLens-like error reporting. Compatible with linters made for linter (screenshot) |
lite-debugger |
Debug Lite-XL's Lua VM interactively, if you're running it from a terminal. Warning: Will significantly slow down Lite-XL if installed. |
litepresence * |
Discord rich presence for Lite XL (display file editing in Discord) |
lorem * |
Generates Lorem Ipsum placeholder dummy text |
lsp * |
Provides code completion (also known as IntelliSense) using the Language Server Protocol |
lsp_c * |
Automatic configuration/binary download for LSP completion for C/C++ with clangd. |
lsp_clojure * |
Automatic configuration/binary download for LSP completion for clojure with clojure-lsp. |
lsp_d * |
Automatic configuration/binary download for LSP completion for D with serve_d. |
lsp_emmet * |
Automatic configuration/binary download for LSP completion for Emmet with emmet-language-server. |
lsp_java * |
Automatic configuration/binary download for LSP completion for Java with jdtls. |
lsp_json * |
LSP support for JSON via vscode-json-languageserver with additional patches for increased functionality. |
lsp_lua * |
Automatic configuration/binary download for LSP completion for Lua with lua-language-server (sumneko). |
lsp_python * |
Automatic configuration/binary download for LSP completion for Python with Pyright. |
lsp_quicklintjs * |
Automatic configuration/binary download for LSP linting for Javascript with quick-lint-js. |
lsp_rust * |
Automatic configuration/binary download for LSP completion for Rust with rust-analyzer. |
lsp_snippets * |
Adds LSP snippets support to the snippets plugin |
lsp_tex * |
Automatic configuration/binary download for LSP completion for TeX with texlab. |
lsp_typescript * |
Automatic configuration/binary download for LSP completion for Typescript and Javascript with typescript-language-server. |
lsp_yaml * |
LSP support for YAML via yaml-language-server. |
lsp_zig * |
Automatic configuration/binary download for LSP completion for Zig via zls. |
macmodkeys |
Remaps mac modkeys command/option to ctrl/alt |
markers |
Add markers to docs and jump between them quickly (screenshot) |
memoryusage |
Show memory usage in the status view |
minimap |
Shows a minimap on the right-hand side of the docview. Taken from @andsve, and improved upon. |
motiontrail |
Adds a motion-trail to the caret (gif) |
navigate |
Allows moving back and forward between document positions, reducing the amount of scrolling |
nerdicons |
File icons set for TreeView. Modification of the nonicons plugin. Uses NerdFont icons |
nonicons |
File icons set for TreeView. Uses the Nonicons font |
opacity |
Change the opaqueness/transparency of lite-xl using shift+mousewheel or a command. |
open_ext |
Automatically prompts you if you tried to open a binary file in the editor |
openfilelocation |
Opens the parent directory of the current file in the file manager |
openselected |
Opens the selected filename or url |
pdfview |
PDF preview for TeX files |
plugin_manager * |
A plugin manager view for pragtical that provides GUI access to ppm |
primary_selection |
Adds middle mouse click copy/paste (primary selection). To use this plugin, xclip must be installed. |
profiler |
Adds the ability to profile Pragtical. |
rainbowparen |
Show nesting of parentheses with rainbow colours |
recentfiles |
Saves recently opened files for easy access from command menu. |
regexreplacepreview |
Allows for you to write a regex and its replacement in one go, and live preview the results. |
restoretabs |
Keep a list of recently closed tabs, and restore the tab in order on ctrl+shift+t. |
scalestatus |
Displays current scale (zoom) in status view (depends on scale plugin) |
scm * |
Extensible source control management plugin with git and fossil backends. |
select_colorscheme |
Select a color theme, like VScode, Sublime Text.(plugin saves changes) |
selectionhighlight |
Highlights regions of code that match the current selection (screenshot) |
smallclock |
Displays the current time in the corner of the status view |
smartopenselected |
Opens the selected filename or path in project. Useful to open imports. |
smoothcaret |
Smooth caret animation (gif) |
snippets * |
Provides code snippets support |
sort |
Sorts selected lines alphabetically |
sortcss * |
Sort selected CSS properties alphabetically or using the concentric model. (demo) |
spellcheck |
Underlines misspelt words (screenshot) -- note: on Windows a words.txt dictionary file must be placed beside the exe |
statusclock |
Displays the current date and time in the corner of the status view |
sticky_scroll |
Keep track of the current scope at the top of the view (video) |
su_save |
Save files that require root permissions. Needs pkexec . |
svg_screenshot |
Takes an SVG screenshot. Only browsers seem to support the generated SVG properly. |
tab_switcher |
Switch between open tabs by searching by name |
tabnumbers |
Displays tab numbers from 1–9 next to their names (screenshot) |
terminal * |
An integrated terminal for pragtical. |
tetris |
Allows you to play tetris directly in the editor. |
texcompile |
Compile Tex files into PDF |
theme16 * |
Theme manager with base16 themes |
themeselect |
Select a theme based on filename of active document |
titleize |
Titleizes selected string (hello world => Hello World ) |
todotreeview |
Todo tree viewer for annotations in code like TODO , BUG , FIX , IMPROVEMENT |
togglesnakecamel |
Toggles symbols between snake_case and camelCase |
treeview-extender * |
Extend Pragtical's treeview menu (screenshot) |
typingspeed |
Displays your current typing speed in characters and words per minute in the status bar |
unboundedscroll |
Allows scrolling outside the bounds of a document |
updatechecker |
Automatically checks for updates and notifies you |
vibe * |
VI(vim?) bindings with a hint of DOOM Emacs, for pragtical |
visu * |
Audio visualizer for Lite XL |
wal * |
pywal integration with Lite XL. |
wordcount |
Adds in a word count to the statusview. |
Language | Description |
---|---|
language_angelscript |
Syntax for the Angelscript programming language |
language_assembly_riscv |
Syntax for RISC-V assembly |
language_assembly_x86 |
Syntax for Intel x86 assembly |
language_autohotkey_v1 |
Syntax for the AutoHotkey(v1) programming language |
language_awk |
Syntax for the Awk(v1) programming language |
language_batch |
Syntax for Windows Batch Files |
language_bazel |
Syntax for Bazel build tool files. |
language_bend |
Syntax for Bend programming language files. |
language_bib |
Syntax for BibTex files |
language_blade |
Syntax for Blade files |
language_blueprint |
Syntax for the Blueprint markup language |
language_brainfuck |
Syntax for the Brainfuck programming language |
language_buzz |
Syntax for the Buzz programming language. |
language_c7 |
Syntax for the modifications to fe used in cel7 |
language_caddyfile |
Syntax for the Caddyfile used on the Caddy web server |
language_carbon |
Syntax for the Carbon programming language. |
language_clojure |
Syntax for the Clojure programming language |
language_cmake |
Syntax for the CMake build system language |
language_containerfile * |
Syntax for Containerfile/Dockerfile |
language_crystal * |
Syntax for the Crystal programming language |
language_csharp |
Syntax for the C# programming language |
language_cue |
Syntax for the CUE definition and validation programming language |
language_d |
Syntax for the D programming language |
language_dart |
Syntax for the Dart programming languiage |
language_diff |
Syntax for diff and patch files |
language_djot * |
Syntax for the Djot markup language |
language_edp |
Syntax for FreeFEM++ programming language |
language_ejs |
Syntax for the EJS javascript template engine |
language_elixir |
Syntax for the Elixir programming language |
language_elm |
Syntax for the Elm programming language |
language_env * |
Syntax for the env (dotenv) files |
language_erb |
Syntax for the ERB programming language. Also known as eRuby or Embedded Ruby. |
language_fe |
Syntax for the fe programming language |
language_fennel |
Syntax for the fennel programming language |
language_fortran |
Syntax for the fortran programming language |
language_fstab |
Syntax for the fstab config files |
language_gabc |
Syntax for the GABC music typesetting language |
language_gdscript |
Syntax for the Godot Engine's GDScript scripting language |
language_glsl |
Syntax for the GLSL programming language |
language_gmi |
Syntax for the Gemtext markup language |
language_go |
Syntax for the Go programming language |
language_graphql |
Syntax for the GraphQL query language, and server-side runtime for executing queries using a type system. |
language_gravity |
Syntax for the Gravity programming language. |
language_groovy |
Syntax for the Groovy programming language |
language_hare |
Syntax for the Hare programming language |
language_haxe |
Syntax for the Haxe programming language |
language_hlsl |
Syntax for the HLSL programming language |
language_hs |
Syntax for the Haskell programming language |
language_htaccess |
Syntax for .htaccess files. |
language_ignore * |
Syntax for .gitignore, .dockerignore and some other .*ignore files |
language_ini |
Syntax for ini files |
language_java |
Syntax for the Java programming language |
language_jiyu |
Syntax for the jiyu programming language |
language_json |
Syntax for the JSON language |
language_jsx |
Syntax for the JSX language for the React framework in JavaScript |
language_julia |
Syntax for the Julia programming language |
language_kdl |
Syntax for the KDL document language |
language_kotlin |
Syntax for the Kotlin programming language |
language_ksy * |
Syntax for Kaitai struct files |
language_lilypond |
Syntax for the LilyPond music typesetting language |
language_liquid |
Syntax for Liquid templating language |
language_lobster |
Syntax for Lobster programming language |
language_lox |
Syntax for the Lox programming language, featured in the book 'Crafting Interpreters'. |
language_make |
Syntax for the Make build system language |
language_marte |
Syntax for MARTe2 configuration language |
language_meson |
Syntax for the Meson build system language |
language_miniscript |
Syntax for the MiniScript programming language |
language_moon |
Syntax for the MoonScript scripting language |
language_nelua |
Syntax for Nelua programming |
language_nginx |
Syntax for Nginx config files |
language_nim |
Syntax for the Nim programming language |
language_nix |
Syntax for the Nix expression language |
language_objc |
Syntax for the Objective C programming language |
language_odin |
Syntax for the Odin programming language |
language_openscad |
Syntax for the OpenSCAD programming language |
language_perl |
Syntax for the Perl programming language |
language_php |
Syntax for the PHP programming language |
language_pico8 |
Syntax for Pico-8 cartridge files |
language_pkgbuild |
Syntax for PKGBUILD package description files |
language_po |
Syntax for PO translation files |
language_pony * |
Syntax for Pony programming language |
language_powershell |
Syntax for PowerShell scripting language |
language_psql |
Syntax for the postgresql database access language |
language_r |
Syntax for R scripting language |
language_rescript |
Syntax for the ReScript programming language |
language_rivet |
Syntax for the Rivet programming language |
language_ruby |
Syntax for the Ruby programming language |
language_rust |
Syntax for the Rust programming language |
language_sass |
Syntax for the Sass CSS preprocessor |
language_scala |
Syntax for the Scala programming language |
language_sh |
Syntax for shell scripting language |
language_ssh_config |
Syntax for ssh & sshd config files |
language_swift |
Syntax for the Swift programming language |
language_tal |
Syntax for the Uxntal assembly language |
language_tcl |
Syntax for the Tcl programming language |
language_teal |
Syntax for the Teal programming language, a typed dialect of Lua. |
language_tex |
Syntax for the LaTeX typesetting language |
language_toml |
Syntax for the TOML configuration language |
language_ts |
Syntax for the TypeScript programming language, a typed dialect of JavaScript. |
language_tsx |
Syntax for TSX language |
language_typst |
Syntax for Typst markup language |
language_umka |
Syntax for the Umka programming language. |
language_v |
Syntax for the V programming language |
language_vale * |
Syntax for the Vale programming language |
language_wren |
Syntax for the Wren programming language |
language_yaml |
Syntax for YAML serialization language |
language_zig |
Syntax for the Zig programming language |
Library | Description |
---|---|
font_nonicons |
Nonicons font with mapping |
font_symbols_nerdfont_mono_regular |
Nerd Font Symbols font with mapping |
jdk * |
Production and Early-Access OpenJDK Builds, from Oracle. |
jsonmod |
rxi JSON library with error handling and other modifications. |
net * |
Add support for TCP and UDP sockets using SDL_net. |
nodejs * |
Official NodeJs builds. |
tree-sitter-c * |
Treesitter parser for C |
tree-sitter-cpp * |
Treesitter parser for C++ |
tree-sitter-d * |
Treesitter parser for D |
tree-sitter-diff * |
Treesitter parser for diff |
tree-sitter-go * |
Treesitter parser for Go |
tree-sitter-go-mod * |
Treesitter parser for Go mods |
tree-sitter-javascript * |
Treesitter parser for JavaScript |
tree-sitter-julia * |
Treesitter parser for Julia |
tree-sitter-lua * |
Treesitter parser for Lua |
tree-sitter-rust * |
Treesitter parser for Rust |
tree-sitter-zig * |
Treesitter parser for Zig |
tree_sitter * |
Tree-sitter bindings based on lua-tree-sitter |
www * |
A simple library that provides a web client to fetch, and submit data via HTTP requests. |