2026-01-25 11:42:29 +11:00
|
|
|
# Dequoter
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
A simple Boop clone for Mac OS. Useful as a scratchpad for performing text manipulation.
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
**Currently In Alpha:** There are some glaring issues, such as text not being saved between invocations.
|
|
|
|
|
This means that **if you restart the app, you will loose your work.** Treat this like an untitled TextEdit window,
|
|
|
|
|
where all your chances will be lost when you close it.
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
## Building
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
This project uses [Wails](https://wails.io) to build a desktop application with a Go backend and a Vite frontend.
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-09-07 01:09:21 +00:00
|
|
|
## Plugins
|
|
|
|
|
|
|
|
|
|
Dequoter can be extended with new filters written in [UCL](https://ucl.lmika.dev).
|
|
|
|
|
On startup, if the directory `$HOME/.config/dequoter/plugins` exists, every file ending in `.ucl`
|
|
|
|
|
found in it (including subdirectories) is evaluated. Filters are defined with the `d:filter` builtin:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
d:filter "String: To Upper Case" { |in|
|
|
|
|
|
strs:to-upper $in
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`d:filter` takes a label, which is what appears in the command palette (Cmd+P), and a proc. The proc is
|
|
|
|
|
called with the text to process as its only argument. The result of the proc becomes the filter output:
|
|
|
|
|
strings are used as-is, other values are converted to their string form, and a proc that returns nothing
|
|
|
|
|
is reported as an error. Errors raised with `error` are shown in the status bar.
|
|
|
|
|
|
|
|
|
|
A plugin filter with the same label as a built-in filter replaces it in the palette. If two plugin files
|
|
|
|
|
define the same label, the one loaded later wins (files are loaded in lexical path order). Files that
|
|
|
|
|
fail to load are skipped and reported in the status bar; the remaining files are still loaded.
|
|
|
|
|
|
2026-02-02 21:32:47 +11:00
|
|
|
## Download
|
|
|
|
|
|
|
|
|
|
[Download Release](/dequoter-darwin-arm64.zip)
|
|
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
## License
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
Copyright 2026 Leon Mika
|
|
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
|
|
|
documentation files (the “Software”), to deal in the Software without restriction, including without limitation
|
|
|
|
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
|
|
|
|
|
to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
2025-09-06 10:26:50 +10:00
|
|
|
|
2026-01-25 11:42:29 +11:00
|
|
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
|
|
|
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
|
|
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
|
|
|
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|