lite-xl / lite-xl-plugins

Plugins for the Lite XL editor
MIT License
363 stars 96 forks source link

[request] separate language plugins from the main list #259

Closed thacuber2a03 closed 6 months ago

thacuber2a03 commented 1 year ago

I've seen it being talked in the Discord server but never seen it being tried the language plugins take a big chunk of the main list and it's hard to see the other plugins (I know you could just do a find in your browser but still) maybe you could do something like

### Main plugins list

blah blah blah

### Syntax highlighters

| Language |
|---|
| [Lua](plugins/language_lua.lua?raw=1) |
| [C](plugins/language_c.lua?raw=1) |
etc...

Rendered (don't click the links, they're invalid):


Syntax highlighters

Language
Lua
C
etc...
Guldoman commented 1 year ago

We could put them under a spoiler too.

thacuber2a03 commented 1 year ago

why a spoiler? /srs I don't think language plugins have anything to do with movies /j

Guldoman commented 1 year ago

Mostly to keep the page a bit tidier.

thacuber2a03 commented 1 year ago

1) how can you spoil a table 2) is the spoiled table going to be inlined with the other plugins? because that would look kind of dumb

Guldoman commented 1 year ago

Test:

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
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)
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)

...

Language plugins | Plugin | 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_batch`](plugins/language_batch.lua?raw=1) | Syntax for Windows [Batch Files](https://en.wikipedia.org/wiki/Batch_file) | | [`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_caddyfile`](plugins/language_caddyfile.lua?raw=1) | Syntax for the Caddyfile used on the [Caddy](https://caddyserver.com/) web server | | [`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 | ...
thacuber2a03 commented 1 year ago

ohhhhh ok I didn't get it lol

thacuber2a03 commented 1 year ago

but I can see you guys are updating the README.md automatically, how are you going to check for language plugins, just check if the plugin starts with language_ or do something more reliable?

Guldoman commented 1 year ago

We could for example add a language tag for them, like in this example https://github.com/lite-xl/lite-xl-plugin-manager/blob/eaf74ed6bcb9ea1236e15fe8124db5081059ed8b/SPEC.md?plain=1#L177

SwissalpS commented 1 year ago

I would like them to be in a folder, a meta-plugin or plugin-pack (however you want to call it) The spoiler works for the webpage but when I am working on plugins I have to scroll through the bunch over and over again. Sure I can delete them, but they reapear whenever I git clone ... or git checkout.

Guldoman commented 1 year ago

We can definitely add them to a meta-plugin, and will probably do (like we'll probably also have an addons meta-plugin).

I don't think we'll move them to a different directory tho, as that would break the setup for people that cloned the repo and symlinked the plugins.

thacuber2a03 commented 1 year ago

wait, so does the "addons" metaplugin mean that lite-xl addons will be not there?

adamharrison commented 1 year ago

No no, but it means we'll use lpm to build it probably.

SwissalpS commented 1 year ago

in the log, the languages also spam a lot makeing us scroll through them all to see the error message of a plugin that was supposed to be loaded before them

Guldoman commented 1 year ago

About that, we should probably auto-scroll to the error if the LogView opened automatically because of startup errors.

SwissalpS commented 1 year ago

that also brings up another point. While reading the log, if there are new messages, the log is scrolled back to the top (if I'm not mistaken)

Guldoman commented 1 year ago

Yep, an annoying quirk. Would you mind opening an issue about it, so we don't forget to fix that?