pragtical / plugins

Plugins for the Pragtical editor
MIT License
13 stars 5 forks source link

Pragtical plugins

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.

How to install

To install a plugin:

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.


Plugins

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.

Languages

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

Libraries

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.