# Lite XL plugins Plugins for the [Lite XL text editor](https://github.com/lite-xl/lite-xl), originally forked from the [lite plugins repository](https://github.com/rxi/lite-plugins). 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`](https://github.com/adamharrison/lite-xl-plugin-manager), 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](https://github.com/adamharrison/lite-xl-plugin-manager/blob/master/SPEC.md).* *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`](plugins/align_carets.lua?raw=1) | Align multiple carets and selections *([clip](https://user-images.githubusercontent.com/2798487/165631951-532f8d24-d596-4dd0-9d21-ff53c71ed32f.mp4))* | | [`autoinsert`](plugins/autoinsert.lua?raw=1) | Automatically inserts closing brackets and quotes. Also allows selected text to be wrapped with brackets or quotes. | | [`autosave`](plugins/autosave.lua?raw=1) | Automatically saves files when they are changed | | [`autosaveonfocuslost`](plugins/autosaveonfocuslost.lua?raw=1) | Automatically saves files that were changed when the main window loses focus by switching to another application | | [`autowrap`](plugins/autowrap.lua?raw=1) | Automatically hardwraps lines when typing | | [`base16`](https://github.com/SmileYzn/base16.git)* | Theme manager with base16 color schemes for Lite XL. | | [`bigclock`](plugins/bigclock.lua?raw=1) | Shows the current time and date in a view with large text *([screenshot](https://user-images.githubusercontent.com/3920290/82752891-3318df00-9db9-11ea-803f-261d80d5cf53.png))* | | [`black`](https://git.sr.ht/~tmpod/black-lite)* | Integrates the [black](https://github.com/psf/black) Python formatter with lite | | [`bracketmatch`](plugins/bracketmatch.lua?raw=1) | Underlines matching pair for bracket under the caret *([screenshot](https://user-images.githubusercontent.com/3920290/80132745-0c863f00-8594-11ea-8875-c455c6fd7eae.png))* | | [`build`](https://github.com/lite-xl/lite-xl-ide.git)* | Provides a build system, messages window, and easily clickable errors. Supports an internal build system, and `make`. *([screenshot](https://raw.githubusercontent.com/adamharrison/lite-xl-ide/main/screenshots/build.png))* | | [`centerdoc`](plugins/centerdoc.lua?raw=1) | Centers document's content on the screen and adds zen mode support *([screenshot](https://user-images.githubusercontent.com/3920290/82127896-bf6e4500-97ae-11ea-97fc-ba9a552bc9a4.png))* | | [`cleanstart`](plugins/cleanstart.lua?raw=1) | Hides the treeview at start if no arguments passed to the executable are directories. Compatible with lite. | | [`codeplus`](https://github.com/chqs-git/code-plus.git)* | Offers improvements such as highlighted comments and autocomplete for brackets, quotes and more. ([demo](https://s12.gifyu.com/images/Sckre.gif)) | | [`colorpicker`](plugins/colorpicker.lua?raw=1) | Color picker dialog that supports html and rgb notations. | | [`colorpreview`](plugins/colorpreview.lua?raw=1) | Underlays color values (eg. `#ff00ff` or `rgb(255, 0, 255)`) with their resultant color. *([screenshot](https://user-images.githubusercontent.com/3920290/80743752-731bd780-8b15-11ea-97d3-847db927c5dc.png))* | | [`console`](https://github.com/franko/console)* | A console for running external commands and capturing their output *([gif](https://user-images.githubusercontent.com/3920290/81343656-49325a00-90ad-11ea-8647-ff39d8f1d730.gif))* | | [`copyfilelocation`](plugins/copyfilelocation.lua?raw=1) | Copy file location to clipboard | | [`custom_caret`](plugins/custom_caret.lua?raw=1) | Customize the caret in the editor | | [`datetimestamps`](plugins/datetimestamps.lua?raw=1) | Insert date-, time- and date-time-stamps | | [`debugger`](https://github.com/lite-xl/lite-xl-ide.git)* | Provides a debugger integration, with pluggable backends. Currently supports only gdb. *([screenshot](https://raw.githubusercontent.com/adamharrison/lite-xl-ide/main/screenshots/debugger.png))* | | [`devicons`](https://github.com/PerilousBooklet/lite-xl-devicons)* | PerilousBooklet's treeview icons for software developers. | | [`discord-presence`](https://github.com/vincens2005/lite-xl-discord2)* | Adds the current workspace and file to your Discord rich presence. Linux-only. | | [`dragdropselected`](plugins/dragdropselected.lua?raw=1) | Provides basic drag and drop of selected text (in same document) | | [`easingpreview`](https://github.com/ThaCuber/lite-xl-easingpreview)* | Adds a popup that displays the curve of Penner-styled easing functions. | | [`editorconfig`](plugins/editorconfig) | [EditorConfig](https://editorconfig.org/) implementation for Lite XL | | [`encodings`](https://github.com/jgmdev/lite-xl-encoding)* | 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`](https://github.com/LolsonX/endwise-lite-xl.git)* | Add end tags in variety of languages. Similar to [Vim Endwise](https://github.com/tpope/vim-endwise) | | [`eofnewline`](https://github.com/bokunodev/lite_modules/blob/master/plugins/eofnewline-xl.lua?raw=1)* | Make sure the file ends with one blank line. | | [`ephemeral_tabs`](plugins/ephemeral_tabs.lua?raw=1) | 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`](https://github.com/thacuber2a03/equationgrapher)* | Graphs y=x equations. | | [`eval`](plugins/eval.lua?raw=1) | Replaces selected Lua code with its evaluated result | | [`evergreen`](https://github.com/TorchedSammy/Evergreen.lxl)* | Adds Treesitter syntax highlighting support | | [`exec`](plugins/exec.lua?raw=1) | Runs selected text through shell command and replaces with result | | [`extend_selection_line`](plugins/extend_selection_line.lua?raw=1) | When a selection crosses multiple lines, it is drawn to the end of the screen *([screenshot](https://user-images.githubusercontent.com/2798487/140995616-89a20b55-5917-4df8-8a7c-d7c53732fa8b.png))* | | [`exterm`](https://github.com/ShadiestGoat/lite-xl-exterm)* | Allows to open an external console in current project directory | | [`fallbackfonts`](https://github.com/takase1121/lite-fallback-fonts)* | Adds support for fallback fonts *([gif](https://raw.githubusercontent.com/takase1121/lite-fallback-fonts/master/assets/Iw18fI57J0.gif))* | | [`findfileimproved`](https://github.com/jgmdev/lite-xl-threads)* | Threaded project find files. | | [`fontconfig`](plugins/fontconfig.lua?raw=1) | Allows users to load fonts with [fontconfig](https://www.freedesktop.org/software/fontconfig/fontconfig-user.html). | | [`fontpreview`](plugins/fontpreview.lua?raw=1) | Automatically displays a font with increasing sizes in a new view. | | [`force_syntax`](plugins/force_syntax.lua?raw=1) | Change the syntax used for a file. | | [`formatter`](https://github.com/vincens2005/lite-formatters)* | formatters for various languages | | [`ghmarkdown`](plugins/ghmarkdown.lua?raw=1) | Opens a preview of the current markdown file in a browser window *([screenshot](https://user-images.githubusercontent.com/3920290/82754898-f7394600-9dc7-11ea-8278-2305363ed372.png))* Note: the page content is generated by sending the markdown file to Github's markdown rendering [API](https://docs.github.com/en/rest/markdown?apiVersion=2022-11-28). Requires a [GitHub token](https://docs.github.com/en/rest/markdown/markdown?apiVersion=2022-11-28#render-a-markdown-document-in-raw-mode) being provided | | [`gitblame`](https://github.com/juliardi/lite-xl-gitblame)* | Shows "git blame" information of a line *([screenshot](https://raw.githubusercontent.com/juliardi/lite-xl-gitblame/main/screenshot_1.png))* | | [`gitdiff_highlight`](https://github.com/vincens2005/lite-xl-gitdiff-highlight)* | highlight changed lines from git *([screenshot](https://raw.githubusercontent.com/vincens2005/lite-xl-gitdiff-highlight/master/screenshot.png))* | | [`gitopen`](plugins/gitopen.lua?raw=1) | Open project files that are in a git commit (default=HEAD) | | [`gitstatus`](plugins/gitstatus.lua?raw=1) | Displays git branch and insert/delete count in status bar *([screenshot](https://user-images.githubusercontent.com/3920290/81107223-bcea3080-8f0e-11ea-8fc7-d03173f42e33.png))* | | [`gofmt`](plugins/gofmt.lua?raw=1) | Auto-formats the current go file, adds the missing imports and the missing return cases | | [`gui_filepicker`](plugins/gui_filepicker.lua?raw=1) | Graphical filepicker using zenity or kdialog. | | [`ide`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that provides the minimum functionalities for Lite XL to run as a minimal IDE. | | [`ide_c`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for C/C++. | | [`ide_java`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Java. | | [`ide_javascript`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Javascript. | | [`ide_lua`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Lua. | | [`ide_python`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Python. | | [`ide_rust`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Rust. | | [`ide_tex`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for TeX. | | [`ide_typescript`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Typescript. | | [`ide_zig`](https://github.com/lite-xl/lite-xl-ide.git)* | A metapackage that turns Lite XL into an IDE for Zig. | | [`immersive-title`](https://github.com/takase1121/lite-xl-immersive-title)* | Dark (or even Mica!) title bar for Lite XL | | [`indent_convert`](plugins/indent_convert.lua?raw=1) | Convert between tabs and spaces indentation | | [`indentguide`](plugins/indentguide.lua?raw=1) | Adds indent guides *([screenshot](https://user-images.githubusercontent.com/3920290/79640716-f9860000-818a-11ea-9c3b-26d10dd0e0c0.png))* | | [`ipc`](plugins/ipc.lua?raw=1) | Adds inter-process communication support, single-instance mode and tab drag and drop between instances. | | [`keyhud`](https://codeberg.org/Mandarancio/keyhud)* | Simple *key HUD* for Lite XL | | [`keymap_export`](plugins/keymap_export.lua?raw=1) | Exports the keymap to a JSON file. | | [`kinc-projects`](https://github.com/Kode-Community/kinc_plugin)* | Adds [Kinc](https://github.com/Kode/Kinc) Project generation with basic build commands(depends on [`console`](https://github.com/franko/console)) | | [`lfautoinsert`](plugins/lfautoinsert.lua?raw=1) | Automatically inserts indentation and closing bracket/text after newline | | [`linenumbers`](plugins/linenumbers.lua?raw=1) | The ability to change the display of the line number *([screenshot](https://user-images.githubusercontent.com/5556081/129493788-6a4cbd7a-9074-4133-bab7-110ed55f18f7.png))* | | [`lintplus`](https://github.com/liquid600pgm/lintplus)* | Advanced linter with ErrorLens-like error reporting. Compatible with linters made for `linter` *([screenshot](https://raw.githubusercontent.com/liquid600pgm/lintplus/master/screenshots/1.png))* | | [`lite-debugger`](plugins/lite-debugger.lua?raw=1) | Debug Lite-XL's Lua VM interactively, if you're running it from a terminal. Warning: Will significantly slow down Lite-XL if installed. | | [`lite-xl-vibe`](https://github.com/eugenpt/lite-xl-vibe)* | VI(vim?) bindings with a hint of DOOM Emacs, for lite-xl | | [`litepresence`](https://github.com/TorchedSammy/Litepresence)* | Discord rich presence for Lite XL (display file editing in Discord) | | [`lorem`](https://github.com/sheetcoder/lorem)* | Generates Lorem Ipsum placeholder dummy text | | [`lsp`](https://github.com/lite-xl/lite-xl-lsp.git)* | Provides intellisense by leveraging the LSP protocol. | | [`lsp_c`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for C/C++ with clangd. | | [`lsp_clojure`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for clojure with clojure-lsp. | | [`lsp_d`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for D with serve_d. | | [`lsp_emmet`](https://github.com/lite-xl/lite-xl-lsp-servers)* | Automatic configuration/binary download for LSP completion for Emmet with emmet-language-server. | | [`lsp_haxe`](https://github.com/lite-xl/lite-xl-lsp-servers)* | Automatic configuration/binary download for LSP completion for Haxe with haxe-language-server. | | [`lsp_java`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for Java with jdtls. | | [`lsp_json`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | LSP support for JSON via vscode-json-languageserver with [additional patches](https://github.com/lite-xl/lite-xl-lsp-servers/tree/latest/patches/vscode-json-languageserver) for increased functionality. | | [`lsp_lua`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for Lua with lua-language-server (sumneko). | | [`lsp_python`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for Python with Pyright. | | [`lsp_quicklintjs`](https://github.com/lite-xl/lite-xl-lsp-servers)* | Automatic configuration/binary download for LSP linting for Javascript with quick-lint-js. | | [`lsp_rust`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for Rust with rust-analyzer. | | [`lsp_snippets`](https://github.com/vqns/lite-xl-snippets)* | Adds LSP snippets support to the snippets plugin | | [`lsp_tex`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for TeX with texlab. | | [`lsp_typescript`](https://github.com/lite-xl/lite-xl-lsp-servers)* | Automatic configuration/binary download for LSP completion for Typescript and Javascript with typescript-language-server. | | [`lsp_yaml`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | LSP support for YAML via yaml-language-server. | | [`lsp_zig`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Automatic configuration/binary download for LSP completion for Zig via zls. | | [`lspkind`](https://github.com/TorchedSammy/lite-xl-lspkind)* | Completion menu kind/type icons for Lite XL LSP | | [`macmodkeys`](plugins/macmodkeys.lua?raw=1) | Remaps mac modkeys `command/option` to `ctrl/alt` | | [`markers`](plugins/markers.lua?raw=1) | Add markers to docs and jump between them quickly *([screenshot](https://user-images.githubusercontent.com/3920290/82252149-5faaa200-9946-11ea-9199-bea2efb7ee23.png))* | | [`memoryusage`](plugins/memoryusage.lua?raw=1) | Show memory usage in the status view | | [`minimap`](plugins/minimap.lua?raw=1) | Shows a minimap on the right-hand side of the docview. Taken from [@andsve](https://github.com/andsve/lite-plugins/tree/minimap-plugin), and improved upon. | | [`motiontrail`](plugins/motiontrail.lua?raw=1) | Adds a motion-trail to the caret *([gif](https://user-images.githubusercontent.com/3920290/83256814-085ccb00-a1ab-11ea-9e35-e6633cbed1a9.gif))* | | [`navigate`](plugins/navigate.lua?raw=1) | Allows moving back and forward between document positions, reducing the amount of scrolling | | [`nerdicons`](plugins/nerdicons.lua?raw=1) | File icons set for TreeView. Modification of the [nonicons](plugins/nonicons.lua) plugin. Uses [NerdFont](https://www.nerdfonts.com/) icons | | [`nonicons`](plugins/nonicons.lua?raw=1) | File icons set for TreeView. Uses the [Nonicons](https://github.com/yamatsum/nonicons/) font | | [`opacity`](plugins/opacity.lua?raw=1) | Change the opaqueness/transparency of `lite-xl` using shift+mousewheel or a command. | | [`open_ext`](plugins/open_ext.lua?raw=1) | Automatically prompts you if you tried to open a binary file in the editor | | [`openfilelocation`](plugins/openfilelocation.lua?raw=1) | Opens the parent directory of the current file in the file manager | | [`openselected`](plugins/openselected.lua?raw=1) | Opens the selected filename or url | | [`pdfview`](plugins/pdfview.lua?raw=1) | PDF preview for TeX files | | [`plugin_manager`](https://github.com/lite-xl/lite-xl-plugin-manager.git)* | A plugin manager view for lite-xl that provides GUI access to `lpm` | | [`primary_selection`](plugins/primary_selection.lua?raw=1) | Adds middle mouse click copy/paste (primary selection). To use this plugin, `xclip` must be installed. | | [`profiler`](plugins/profiler) | Adds the ability to profile lite-xl with the [lua-profiler](https://github.com/charlesmallah/lua-profiler) | | [`projectsearch`](https://github.com/jgmdev/lite-xl-threads)* | Threaded project search with 5-10x better performance. | | [`ptm`](https://github.com/PerilousBooklet/lite-xl-ptm)* | A project template manager for Lite XL. | | [`quetta`](https://github.com/adamharrison/quetta.git)* | Turns Lite XL into a terminal based editor. | | [`rainbowparen`](plugins/rainbowparen.lua?raw=1) | Show nesting of parentheses with rainbow colours | | [`regexreplacepreview`](plugins/regexreplacepreview.lua?raw=1) | Allows for you to write a regex and its replacement in one go, and live preview the results. | | [`renamer`](https://github.com/Guldoman/lite-xl-renamer)* | Rename files in bulk | | [`restoretabs`](plugins/restoretabs.lua?raw=1) | Keep a list of recently closed tabs, and restore the tab in order on ctrl+shift+t. | | [`scalestatus`](plugins/scalestatus.lua?raw=1) | Displays current scale (zoom) in status view (depends on scale plugin) | | [`scm`](https://github.com/lite-xl/lite-xl-scm)* | Extensible source control management plugin with git and fossil backends. | | [`search_ui`](plugins/search_ui.lua?raw=1) | Friendlier search and replace user interface using Widgets. | | [`select_colorscheme`](plugins/select_colorscheme.lua?raw=1) | Select a color theme, like VScode, Sublime Text.(plugin saves changes) | | [`selectionhighlight`](plugins/selectionhighlight.lua?raw=1) | Highlights regions of code that match the current selection *([screenshot](https://user-images.githubusercontent.com/3920290/80710883-5f597c80-8ae7-11ea-97f0-76dfacc08439.png))* | | [`settings`](plugins/settings.lua?raw=1) | Provides a GUI to manage core and plugin settings, bindings and select color theme *([video](https://user-images.githubusercontent.com/1702572/169743674-ececae24-f6b7-4ff2-bfa2-c4762cd327d9.mp4))*. (depends on [`widget`](https://github.com/lite-xl/lite-xl-widgets)) | | [`smallclock`](plugins/smallclock.lua?raw=1) | Displays the current time in the corner of the status view | | [`smartopenselected`](plugins/smartopenselected.lua?raw=1) | Opens the selected filename or path in project. Useful to open imports. | | [`smoothcaret`](plugins/smoothcaret.lua?raw=1) | Smooth caret animation *([gif](https://user-images.githubusercontent.com/20792268/139006049-a0ba6559-88cb-49a7-8077-4822445b4a1f.gif))* | | [`snippets`](https://github.com/vqns/lite-xl-snippets)* | Provides code snippets support | | [`sort`](plugins/sort.lua?raw=1) | Sorts selected lines alphabetically | | [`sortcss`](https://github.com/felixsanz/lite-xl-sortcss)* | Sort selected CSS properties alphabetically or using the concentric model. *([demo](https://raw.githubusercontent.com/felixsanz/lite-xl-sortcss/master/demo.gif))* | | [`spellcheck`](plugins/spellcheck.lua?raw=1) | Underlines misspelt words *([screenshot](https://user-images.githubusercontent.com/3920290/79923973-9caa7400-842e-11ea-85d4-7a196a91ca50.png))* *-- note: on Windows a [`words.txt`](https://github.com/dwyl/english-words/blob/master/words.txt) dictionary file must be placed beside the exe* | | [`statusclock`](plugins/statusclock.lua?raw=1) | Displays the current date and time in the corner of the status view | | [`sticky_scroll`](plugins/sticky_scroll.lua?raw=1) | Keep track of the current scope at the top of the view (*[video](https://user-images.githubusercontent.com/2798487/222133911-e467a583-596c-47ab-8e65-eefc7b5c9112.mp4)*) | | [`su_save`](plugins/su_save.lua?raw=1) | Save files that require root permissions. Needs `pkexec`. | | [`svg_screenshot`](plugins/svg_screenshot.lua?raw=1) | Takes an SVG screenshot. Only browsers seem to support the generated SVG properly. | | [`tab_switcher`](plugins/tab_switcher.lua?raw=1) | Switch between open tabs by searching by name | | [`tabnumbers`](plugins/tabnumbers.lua?raw=1) | Displays tab numbers from 1–9 next to their names *([screenshot](https://user-images.githubusercontent.com/16415678/101285362-007a8500-37e5-11eb-869b-c10eb9d9d902.png))* | | [`terminal`](https://github.com/adamharrison/lite-xl-terminal.git)* | An integrated terminal for lite-xl. *([screenshot](https://github.com/adamharrison/lite-xl-terminal/assets/1034518/eb8a72a0-ff61-4b95-b009-364ac2725f70))* | | [`tetris`](plugins/tetris.lua?raw=1) | Allows you to play tetris directly in the editor. | | [`texcompile`](plugins/texcompile.lua?raw=1) | Compile Tex files into PDF | | [`theme16`](https://github.com/monolifed/theme16)* | Theme manager with base16 themes | | [`themeselect`](plugins/themeselect.lua?raw=1) | Select a theme based on filename of active document | | [`titleize`](plugins/titleize.lua?raw=1) | Titleizes selected string (`hello world` => `Hello World`) | | [`todotreeview`](https://github.com/drmargarido/TodoTreeView)* | Todo tree viewer for annotations in code like `TODO`, `BUG`, `FIX`, `IMPROVEMENT` | | [`togglesnakecamel`](plugins/togglesnakecamel.lua?raw=1) | Toggles symbols between `snake_case` and `camelCase` | | [`treeview-extender`](https://github.com/juliardi/lite-xl-treeview-extender)* | Extend Lite XL's treeview menu *([screenshot](https://raw.githubusercontent.com/juliardi/lite-xl-treeview-extender/main/screenshot.png))* | | [`typingspeed`](plugins/typingspeed.lua?raw=1) | Displays your current typing speed in characters and words per minute in the status bar | | [`unboundedscroll`](plugins/unboundedscroll.lua?raw=1) | Allows scrolling outside the bounds of a document | | [`updatechecker`](https://github.com/vincens2005/lite-xl-updatechecker)* | Automatically checks for updates and notifies you | | [`visu`](https://github.com/TorchedSammy/Visu)* | Audio visualizer for Lite XL | | [`wal`](https://github.com/ThaCuber/wal.lxl)* | `pywal` integration with Lite XL. | | [`wordcount`](plugins/wordcount.lua?raw=1) | Adds in a word count to the statusview. | ## Languages | Language | Description | | --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [`language_angelscript`](plugins/language_angelscript.lua?raw=1) | Syntax for the [Angelscript](https://www.angelcode.com/angelscript/) programming language | | [`language_assembly_riscv`](plugins/language_assembly_riscv.lua?raw=1) | Syntax for RISC-V assembly | | [`language_assembly_x86`](plugins/language_assembly_x86.lua?raw=1) | Syntax for Intel x86 assembly | | [`language_autohotkey_v1`](plugins/language_autohotkey_v1.lua?raw=1) | Syntax for the [AutoHotkey](https://www.autohotkey.com)(v1) programming language | | [`language_awk`](plugins/language_awk.lua?raw=1) | Syntax for the [Awk](https://en.wikipedia.org/wiki/AWK)(v1) programming language | | [`language_batch`](plugins/language_batch.lua?raw=1) | Syntax for Windows [Batch Files](https://en.wikipedia.org/wiki/Batch_file) | | [`language_bazel`](plugins/language_bazel.lua?raw=1) | Syntax for [Bazel](https://bazel.build/) build tool files. | | [`language_bend`](plugins/language_bend.lua?raw=1) | Syntax for [Bend](https://higherorderco.com/) programming language files. | | [`language_bib`](plugins/language_bib.lua?raw=1) | Syntax for [BibTex](https://en.wikipedia.org/wiki/BibTeX) files | | [`language_blade`](plugins/language_blade.lua?raw=1) | Syntax for [Blade](https://github.com/blade-lang/blade/) files | | [`language_blueprint`](plugins/language_blueprint.lua?raw=1) | Syntax for the [Blueprint](https://jwestman.pages.gitlab.gnome.org/blueprint-compiler/) markup language | | [`language_brainfuck`](plugins/language_brainfuck.lua?raw=1) | Syntax for the [Brainfuck](https://en.wikipedia.org/wiki/Brainfuck) programming language | | [`language_buzz`](plugins/language_buzz.lua?raw=1) | Syntax for the [Buzz](https://buzz-lang.dev/) programming language. | | [`language_c7`](plugins/language_c7.lua?raw=1) | Syntax for the modifications to [fe](https://github.com/rxi/fe/) used in [cel7](https://rxi.itch.io/cel7) | | [`language_caddyfile`](plugins/language_caddyfile.lua?raw=1) | Syntax for the Caddyfile used on the [Caddy](https://caddyserver.com/) web server | | [`language_carbon`](plugins/language_carbon.lua?raw=1) | Syntax for the [Carbon programming language](https://github.com/carbon-language/carbon-lang). | | [`language_clojure`](plugins/language_clojure.lua?raw=1) | Syntax for the [Clojure](https://clojure.org/) programming language | | [`language_cmake`](plugins/language_cmake.lua?raw=1) | Syntax for the CMake build system language | | [`language_containerfile`](https://github.com/FilBot3/lite-xl-language-containerfile)* | Syntax for [Containerfile](https://github.com/containers/common/blob/main/docs/Containerfile.5.md)/[Dockerfile](https://docs.docker.com/engine/reference/builder/) | | [`language_crystal`](https://github.com/Tamnac/lite-plugin-crystal)* | Syntax for the [Crystal](https://crystal-lang.org) programming language | | [`language_csharp`](plugins/language_csharp.lua?raw=1) | Syntax for the [C#](http://csharp.net) programming language | | [`language_cue`](plugins/language_cue.lua?raw=1) | Syntax for the [CUE](http://cuelang.org) definition and validation programming language | | [`language_d`](plugins/language_d.lua?raw=1) | Syntax for the [D](https://dlang.org/) programming language | | [`language_dart`](plugins/language_dart.lua?raw=1) | Syntax for the [Dart](https://dart.dev/) programming languiage | | [`language_diff`](plugins/language_diff.lua?raw=1) | Syntax for diff and patch files | | [`language_djot`](https://github.com/Tamnac/lite-xl-djot)* | Syntax for the [Djot](https://djot.net/) markup language | | [`language_edp`](plugins/language_edp.lua?raw=1) | Syntax for [FreeFEM++](http://freefem.org) programming language | | [`language_ejs`](plugins/language_ejs.lua?raw=1) | Syntax for the [EJS](https://ejs.co/) javascript template engine | | [`language_elixir`](plugins/language_elixir.lua?raw=1) | Syntax for the [Elixir](https://elixir-lang.org) programming language | | [`language_elm`](plugins/language_elm.lua?raw=1) | Syntax for the [Elm](https://elm-lang.org) programming language | | [`language_env`](https://github.com/anthonyaxenov/lite-xl-env-syntax)* | Syntax for the [env](https://hexdocs.pm/dotenvy/dotenv-file-format.html) (dotenv) files | | [`language_erb`](plugins/language_erb.lua?raw=1) | Syntax for the [ERB](https://github.com/ruby/erb) programming language. Also known as eRuby or Embedded Ruby. | | [`language_fe`](plugins/language_fe.lua?raw=1) | Syntax for the [fe](https://github.com/rxi/fe) programming language | | [`language_fennel`](plugins/language_fennel.lua?raw=1) | Syntax for the [fennel](https://fennel-lang.org) programming language | | [`language_fortran`](plugins/language_fortran.lua?raw=1) | Syntax for the [fortran](https://fortran-lang.org/) programming language | | [`language_fstab`](plugins/language_fstab.lua?raw=1) | Syntax for the [fstab](https://en.wikipedia.org/wiki/Fstab) config files | | [`language_gabc`](plugins/language_gabc.lua?raw=1) | Syntax for the [GABC](https://gregorio-project.github.io/gabc) music typesetting language | | [`language_gdscript`](plugins/language_gdscript.lua?raw=1) | Syntax for the [Godot Engine](https://godotengine.org/)'s GDScript scripting language | | [`language_glsl`](plugins/language_glsl.lua?raw=1) | Syntax for the [GLSL](https://www.khronos.org/registry/OpenGL/specs/gl/) programming language | | [`language_gmi`](plugins/language_gmi.lua?raw=1) | Syntax for the [Gemtext](https://gemini.circumlunar.space/docs/gemtext.gmi) markup language | | [`language_go`](plugins/language_go.lua?raw=1) | Syntax for the [Go](https://golang.org/) programming language | | [`language_graphql`](plugins/language_graphql.lua?raw=1) | Syntax for the [GraphQL](https://graphql.org/) query language, and server-side runtime for executing queries using a type system. | | [`language_gravity`](plugins/language_gravity.lua?raw=1) | Syntax for the [Gravity](https://marcobambini.github.io/gravity/) programming language. | | [`language_groovy`](plugins/language_groovy.lua?raw=1) | Syntax for the [Groovy](https://en.wikipedia.org/wiki/Apache_Groovy) programming language | | [`language_hare`](plugins/language_hare.lua?raw=1) | Syntax for the [Hare](https://harelang.org) programming language | | [`language_haxe`](plugins/language_haxe.lua?raw=1) | Syntax for the [Haxe](https://haxe.org) programming language | | [`language_hlsl`](plugins/language_hlsl.lua?raw=1) | Syntax for the [HLSL](https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl) programming language | | [`language_hs`](plugins/language_hs.lua?raw=1) | Syntax for the [Haskell](https://www.haskell.org/) programming language | | [`language_htaccess`](/plugins/language_htaccess.lua?raw=1) | Syntax for [.htaccess](https://httpd.apache.org/docs/2.4/howto/htaccess.html) files. | | [`language_ignore`](https://github.com/anthonyaxenov/lite-xl-ignore-syntax)* | Syntax for [.gitignore](https://git-scm.com/docs/gitignore), [.dockerignore](https://docs.docker.com/engine/reference/builder/#dockerignore-file) and some other `.*ignore` files | | [`language_ini`](plugins/language_ini.lua?raw=1) | Syntax for [ini](https://en.wikipedia.org/wiki/INI_file) files | | [`language_java`](plugins/language_java.lua?raw=1) | Syntax for the [Java](https://en.wikipedia.org/wiki/Java_\(programming_language\)) programming language | | [`language_jiyu`](plugins/language_jiyu.lua?raw=1) | Syntax for the [jiyu](https://github.com/machinamentum/jiyu) programming language | | [`language_json`](plugins/language_json.lua?raw=1) | Syntax for the [JSON](https://www.json.org/json-en.html) language | | [`language_jsx`](plugins/language_jsx.lua?raw=1) | Syntax for the [JSX](https://reactjs.org/docs/introducing-jsx.html) language for the React framework in JavaScript | | [`language_julia`](plugins/language_julia.lua?raw=1) | Syntax for the [Julia](https://julialang.org/) programming language | | [`language_kdl`](plugins/language_kdl.lua?raw=1) | Syntax for the [KDL](https://kdl.dev) document language | | [`language_kotlin`](plugins/language_kotlin.lua?raw=1) | Syntax for the [Kotlin](https://kotlinlang.org/docs/home.html) programming language | | [`language_ksy`](https://raw.githubusercontent.com/whiteh0le/lite-plugins/main/plugins/language_ksy.lua?raw=1)* | Syntax for [Kaitai](http://kaitai.io/) struct files | | [`language_lilypond`](plugins/language_lilypond.lua?raw=1) | Syntax for the [LilyPond](https://lilypond.org/) music typesetting language | | [`language_liquid`](plugins/language_liquid.lua?raw=1) | Syntax for [Liquid](https://shopify.github.io/liquid/) templating language | | [`language_lobster`](plugins/language_lobster.lua?raw=1) | Syntax for [Lobster](https://strlen.com/lobster/) programming language | | [`language_lox`](plugins/language_lox.lua?raw=1) | Syntax for the [Lox](http://craftinginterpreters.com/the-lox-language.html) programming language, featured in the book '[Crafting Interpreters](http://craftinginterpreters.com/)'. | | [`language_make`](plugins/language_make.lua?raw=1) | Syntax for the Make build system language | | [`language_marte`](plugins/language_marte.lua?raw=1) | Syntax for [MARTe2](https://vcis.f4e.europa.eu/marte2-docs/master/html/index.html) configuration language | | [`language_meson`](plugins/language_meson.lua?raw=1) | Syntax for the [Meson](https://mesonbuild.com) build system language | | [`language_miniscript`](plugins/language_miniscript.lua?raw=1) | Syntax for the [MiniScript](https://miniscript.org) programming language | | [`language_moon`](plugins/language_moon.lua?raw=1) | Syntax for the [MoonScript](https://moonscript.org) scripting language | | [`language_nelua`](plugins/language_nelua.lua?raw=1) | Syntax for [Nelua](http://nelua.io/) programming | | [`language_nginx`](plugins/language_nginx.lua?raw=1) | Syntax for [Nginx](https://www.nginx.com/) config files | | [`language_nim`](plugins/language_nim.lua?raw=1) | Syntax for the [Nim](https://nim-lang.org) programming language | | [`language_nix`](plugins/language_nix.lua?raw=1) | Syntax for the [Nix](https://nixos.wiki/wiki/Overview_of_the_Nix_Language) expression language | | [`language_objc`](plugins/language_objc.lua?raw=1) | Syntax for the [Objective C](https://en.wikipedia.org/wiki/Objective-C) programming language | | [`language_odin`](plugins/language_odin.lua?raw=1) | Syntax for the [Odin](https://github.com/odin-lang/Odin) programming language | | [`language_openscad`](plugins/language_openscad.lua?raw=1) | Syntax for the [OpenSCAD](https://openscad.org/) programming language | | [`language_perl`](plugins/language_perl.lua?raw=1) | Syntax for the [Perl](https://perl.org) programming language | | [`language_php`](plugins/language_php.lua?raw=1) | Syntax for the [PHP](https://php.net) programming language | | [`language_pico8`](plugins/language_pico8.lua?raw=1) | Syntax for [Pico-8](https://www.lexaloffle.com/pico-8.php) cartridge files | | [`language_pkgbuild`](plugins/language_pkgbuild.lua?raw=1) | Syntax for [PKGBUILD](https://wiki.archlinux.org/title/PKGBUILD) package description files | | [`language_po`](plugins/language_po.lua?raw=1) | Syntax for [PO](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) translation files | | [`language_pony`](https://github.com/MrAnyx/lite-plugin-pony)* | Syntax for [Pony](https://www.ponylang.io/) programming language | | [`language_powershell`](plugins/language_powershell.lua?raw=1) | Syntax for [PowerShell](https://docs.microsoft.com/en-us/powershell) scripting language | | [`language_psql`](plugins/language_psql.lua?raw=1) | Syntax for the postgresql database access language | | [`language_r`](plugins/language_R.lua?raw=1) | Syntax for [R](https://www.r-project.org/) scripting language | | [`language_rescript`](plugins/language_rescript.lua?raw=1) | Syntax for the [ReScript](https://rescript-lang.org/) programming language | | [`language_ring`](plugins/language_ring.lua?raw=1) | Syntax for the [Ring](https://ring-lang.net/) programming language | | [`language_rivet`](plugins/language_rivet.lua?raw=1) | Syntax for the [Rivet](https://github.com/rivet-lang/rivet) programming language | | [`language_ruby`](plugins/language_ruby.lua?raw=1) | Syntax for the [Ruby](https://www.ruby-lang.org/) programming language | | [`language_rust`](plugins/language_rust.lua?raw=1) | Syntax for the [Rust](https://rust-lang.org/) programming language | | [`language_sass`](plugins/language_sass.lua?raw=1) | Syntax for the [Sass](https://sass-lang.com/) CSS preprocessor | | [`language_scala`](plugins/language_scala.lua?raw=1) | Syntax for the [Scala](https://scala-lang.org/) programming language | | [`language_sh`](plugins/language_sh.lua?raw=1) | Syntax for shell scripting language | | [`language_ssh_config`](plugins/language_ssh_config.lua?raw=1) | Syntax for ssh & sshd config files | | [`language_swift`](plugins/language_swift.lua?raw=1) | Syntax for the [Swift](https://developer.apple.com/swift/) programming language | | [`language_tal`](plugins/language_tal.lua?raw=1) | Syntax for the [Uxntal](https://wiki.xxiivv.com/site/uxntal) assembly language | | [`language_tcl`](plugins/language_tcl.lua?raw=1) | Syntax for the [Tcl](https://www.tcl.tk/) programming language | | [`language_teal`](plugins/language_teal.lua?raw=1) | Syntax for the [Teal](https://github.com/teal-language/tl) programming language, a typed dialect of Lua. | | [`language_tex`](plugins/language_tex.lua?raw=1) | Syntax for the [LaTeX](https://www.latex-project.org/) typesetting language | | [`language_toml`](plugins/language_toml.lua?raw=1) | Syntax for the [TOML](https://toml.io/en/) configuration language | | [`language_ts`](plugins/language_ts.lua?raw=1) | Syntax for the [TypeScript](https://www.typescriptlang.org/) programming language, a typed dialect of JavaScript. | | [`language_tsx`](plugins/language_tsx.lua?raw=1) | Syntax for [TSX](https://www.typescriptlang.org/docs/handbook/jsx.html) language | | [`language_typst`](plugins/language_typst.lua?raw=1) | Syntax for [Typst](https://typst.app/) markup language | | [`language_umka`](plugins/language_umka.lua?raw=1) | Syntax for the [Umka](https://github.com/vtereshkov/umka-lang) programming language. | | [`language_v`](plugins/language_v.lua?raw=1) | Syntax for the [V](https://vlang.io/) programming language | | [`language_vale`](https://github.com/programutox/lite-plugin-vale)* | Syntax for the [Vale](https://vale.dev) programming language | | [`language_wren`](plugins/language_wren.lua?raw=1) | Syntax for the [Wren](http://wren.io/) programming language | | [`language_yaml`](plugins/language_yaml.lua?raw=1) | Syntax for [YAML](https://yaml.org/) serialization language | | [`language_zig`](plugins/language_zig.lua?raw=1) | Syntax for the [Zig](https://ziglang.org/) programming language | ## Libraries | Library | Description | | -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | | [`coro_diff`](https://github.com/Guldoman/lite-xl-coro_diff)* | Diff library that yields. | | [`encoding`](https://github.com/jgmdev/lite-xl-encoding)* | Add support for detecting file and string encodings as converting between them. | | [`font_nonicons`](plugins/font_nonicons.lua?raw=1) | [Nonicons](https://github.com/yamatsum/nonicons/) font with mapping | | [`font_symbols_nerdfont_mono_regular`](plugins/font_symbols_nerdfont_mono_regular.lua?raw=1) | [Nerd Font Symbols](https://github.com/ryanoasis/nerd-fonts/) font with mapping | | [`haxe`](https://github.com/lite-xl/lite-xl-lsp-servers)* | Official Haxe builds. | | [`jdk`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Production and Early-Access OpenJDK Builds, from Oracle. | | [`net`](https://github.com/jgmdev/lite-xl-net)* | Add support for TCP and UDP sockets using SDL_net. | | [`nodejs`](https://github.com/lite-xl/lite-xl-lsp-servers.git)* | Official NodeJs builds. | | [`thread`](https://github.com/jgmdev/lite-xl-threads)* | Supports spawning true os-threads. | | [`tree_sitter`](https://github.com/Evergreen-lxl/lite-xl-tree-sitter)* | Tree-sitter bindings based on `lua-tree-sitter` | | [`widget`](https://github.com/lite-xl/lite-xl-widgets)* | Plugin library that provides a set of re-usable components to more easily write UI elements for your plugins | | [`www`](https://github.com/adamharrison/lite-xl-www.git)* | A simple library that provides a web client to fetch, and submit data via HTTP requests. |