https://github.com/apr3vau/lw-plugins
LispWorks Plugins by April & May
https://github.com/apr3vau/lw-plugins
Last synced: 5 months ago
JSON representation
LispWorks Plugins by April & May
- Host: GitHub
- URL: https://github.com/apr3vau/lw-plugins
- Owner: apr3vau
- Created: 2024-09-30T22:15:14.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-29T00:34:26.000Z (5 months ago)
- Last Synced: 2025-01-29T01:27:37.788Z (5 months ago)
- Language: Common Lisp
- Size: 6.67 MB
- Stars: 14
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- trackawesomelist - lw-plugins (⭐21) - LispWorks Plugins by April & May. OBSD. (Recently Updated / [Jan 30, 2025](/content/2025/01/30/README.md))
README
# LispWorks Plugins by April & May
Here's the LispWorks Plugins created by April & May. All plugins are zero-dependency (except sub-projects), tested under the LispWorks 8.0.1 Windows & Macintosh, safe for delivery, and have been used for a long time in my own. All the codes are licensed under [0BSD](https://spdx.org/licenses/0BSD.html)), allowing any kind of usage without any limitation. Feel free to include any part of them in your own product.
Here we provide:
- [NEW] Pure-Lisp SVG rendering with LispWorks Graphics Port ([lw-svg](./svg/))
- [NEW] Terminal Utilities for LispWorks, includes a functional Unix PTY running with the Editor, and a stream that can cope with ANSI escape sequences ([term.lisp](./term.lisp))
- [NEW] A docstring folding facility, similar with definition folding([docstring-folding.lisp](./docstring-folding.lisp))
- [NEW] Side Tree, a project explorer alternative to [Treemacs](https://github.com/Alexander-Miller/treemacs) ([side-tree.lisp](./side-tree.lisp))
- [NEW] The [Nerd Fonts](https://www.nerdfonts.com) integration for LispWorks Editor, Giving colourful icons to Directory Mode and Side Tree ([nerd-icons/](./nerd-icons/))
- A Sly-style flexible fuzzy-matching in-place code completion for LispWorks Editor ([flex-complete.lisp](./flex-complete.lisp))
- A decent syntax highlight method of Markdown for LispWorks Editor ([editor-markdown.lisp](./editor-markdown.lisp))
- A decent & elaborate syntax highlight method of Lisp for LispWorks Editor ([colourful.lisp](./colourful.lisp))
- An enhancement plugin for LispWorks Directory Mode, make it more similar with Emacs's dired ([directory.lisp](./directory.lisp))
- An expand-region plugin for Lisp editing in LispWorks Editor, similar with [expand-region.el](https://github.com/magnars/expand-region.el) ([expand-region.lisp](./expand-region.lisp))
- A Lisp form aligning facility ([align.lisp](./align.lisp))
- A simple pair-editing facility like Emacs's electric-pair-mode, with just enough of functions ([pair.lisp](./pair.lisp))## Usage
Basically, just simply load any file you want to include. Some plugins has specific requirement for delivery (like [editor-markdown](editor-markdown.lisp)). For details, please visit each source file and read the top comment lines of them.
Here's a sample code to load all of them into your LispWorks IDE. We assume that you clone this repo into `~/common-lisp/lw-plugins`:
```common-lisp
(dolist (file (directory #P"~/common-lisp/lw-plugins/*.lisp"))
(compile-file file :load t))
```There's also an ASDF system file. You can load it using ASDF:
```common-lisp
(require "asdf")
(asdf:load-system :lw-plugins)
```### Nerd Icons
To use Nerd Icons, you should install [NerdFonts]("https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/NerdFontsSymbolsOnly.zip") first. You can do that by involking `Nerd Icons Install Font` if you have load [nerd-icons.lisp](./nerd-icons/nerd-icons.lisp).
> Note: If you choose to install other Nerd Fonts variant (not the Symbols Nerd Font), you should customize the `*nerd-font-family*` variable.
The Directory Mode integration is at [nerd-icons-directory.lisp](./nerd-icons/nerd-icons-directory.lisp), and the Side Tree integration is at [nerd-icons-side-tree.lisp](./nerd-icons/nerd-icons-side-tree.lisp). They're all relying to [nerd-icons.lisp](./nerd-icons/nerd-icons.lisp). You can use the ASDF systems `lw-plugins/nerd-icons-directory` and `lw-plugins/nerd-icons-side-tree` to load them selectively.
For example, to load all features:
```common-lisp
(require "asdf")
(asdf:load-system :lw-plugins)
(asdf:load-system :lw-plugins/nerd-icons-directory)
(asdf:load-system :lw-plugins/nerd-icons-side-tree)
```----------------
## Acknowledgements
Thanks to the LispWorks Ltd. to provide us the exellent product.
Thanks sister Simone, and my headmate May, who help and support me.
Supporting Neurodiversity & Transgender & Plurality!
🏳️🌈🏳️⚧️
----------------
## Screenshots
### Side Tree (with Nerd icons), Flex completion & Colourful highlight

### Markdown
