/lite-xl-plugins

Plugins for the Lite XL editor

Primary LanguageLuaMIT LicenseMIT

Lite XL plugins

Plugins for the Lite XL 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:

  • 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/lite-xl/plugins/
    • MacOS ~/.config/lite-xl/plugins/
    • Windows C:\Users\(username)\.config\lite-xl\plugins\

Or, if you have a Lite XL plugin manager, such as lpm, you may install plugins by doing

  lpm 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 Lite XL 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 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)
Discord RPC* 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)
Easing Previewer* Adds a popup that displays the curve of Penner-styled easing functions.
editorconfig EditorConfig implementation for Lite XL
encodings* Properly read files that are not encoded in UTF-8 or ASCII by auto-detecting their encoding and allows saving on different text encodings.
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
fallbackfonts* Adds support for fallback fonts (gif)
Multithreaded Find File* Threaded project find files.
fontconfig Allows users to load fonts with fontconfig.
force_syntax Change the syntax used for a file.
formatter* formatters 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
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.
immersive-title* Dark (or even Mica!) title bar for Lite XL
indent_convert Convert between tabs and spaces indentation
indentguide Adds indent guides (screenshot)
ipc Adds inter-process communication support, single-instance mode and tab drag and drop between instances.
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)
linter* Linters for multiple languages
lint+* 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.
vibe* VI(vim?) bindings with a hint of DOOM Emacs, for lite-xl
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_lua* Automatic configuration/binary download for LSP completion for Lua with lua-language-server (sumneko).
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_zig* LSP support for Zig via zls.
lspkind* Completion menu kind/type icons for Lite XL LSP
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. Download font from nerdfonts.com. Modification of the nonicons plugin
nonicons File icons set for TreeView. Download font to your config/fonts folder
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 lite-xl that provides GUI access to lpm
primary_selection Adds middle mouse click copy/paste (primary selection). To use this plugin, xclip must be installed.
profiler Adds the ability to profile lite-xl with the lua-profiler
Multithreaded Project Search* Threaded project search with 5-10x better performance.
rainbowparen Show nesting of parentheses with rainbow colours
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)
Source Control Management* Extensible source control management plugin with git and fossil backends.
search_ui Friendlier search and replace user interface using Widgets.
select_colorscheme Select a color theme, like VScode, Sublime Text.(plugin saves changes)
selectionhighlight Highlights regions of code that match the current selection (screenshot)
settings Provides a GUI to manage core and plugin settings, bindings and select color theme (video). (depends on widget)
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)
Save as Super User 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 lite-xl. (screenshot)
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 Lite XL'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
visu* Audio visualizer for Lite XL
wal.lxl* 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_batch Syntax for Windows Batch Files
language_bib Syntax for BibTex files
language_blade Syntax for Blade files
language_blueprint Syntax for the Blueprint markup 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_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_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_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_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_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_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_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_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
encoding* Add support for detecting file and string encodings as converting between them.
net* Add support for TCP and UDP sockets using SDL_net.
Threads* Supports spawning true os-threads.
widget* Plugin library that provides a set of re-usable components to more easily write UI elements for your plugins
www* A simple library that provides a web client to fetch, and submit data via HTTP requests.