Slyblime
Interactive Lisp IDE with REPL, Inspector, Debugger and more for Sublime Text 4.
Details
Installs
- Total 647
- Win 209
- Mac 206
- Linux 232
Apr 18 | Apr 17 | Apr 16 | Apr 15 | Apr 14 | Apr 13 | Apr 12 | Apr 11 | Apr 10 | Apr 9 | Apr 8 | Apr 7 | Apr 6 | Apr 5 | Apr 4 | Apr 3 | Apr 2 | Apr 1 | Mar 31 | Mar 30 | Mar 29 | Mar 28 | Mar 27 | Mar 26 | Mar 25 | Mar 24 | Mar 23 | Mar 22 | Mar 21 | Mar 20 | Mar 19 | Mar 18 | Mar 17 | Mar 16 | Mar 15 | Mar 14 | Mar 13 | Mar 12 | Mar 11 | Mar 10 | Mar 9 | Mar 8 | Mar 7 | Mar 6 | Mar 5 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Linux | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
___ ___ ___ ___ ___ ___ ___
/\ \ /\__\ |\__\ /\ \ /\__\ ___ /\__\ /\ \
/::\ \ /:/ / |:| | /::\ \ /:/ / /\ \ /::| | /::\ \
/:/\ \ \ /:/ / |:| | /:/\:\ \ /:/ / \:\ \ /:|:| | /:/\:\ \
_\:\~\ \ \ /:/ / |:|__|__ /::\~\:\__\ /:/ / /::\__\ /:/|:|__|__ /::\~\:\ \
/\ \:\ \ \__\ /:/__/ /::::\__\ /:/\:\ \:|__| /:/__/ __/:/\/__/ /:/ |::::\__\ /:/\:\ \:\__\
\:\ \:\ \/__/ \:\ \ /:/~~/~ \:\~\:\/:/ / \:\ \ /\/:/ / \/__/~~/:/ / \:\~\:\ \/__/
\:\ \:\__\ \:\ \ /:/ / \:\ \::/ / \:\ \ \::/__/ /:/ / \:\ \:\__\
\:\/:/ / \:\ \ \/__/ \:\/:/ / \:\ \ \:\__\ /:/ / \:\ \/__/
\::/ / \:\__\ \::/__/ \:\__\ \/__/ /:/ / \:\__\
\/__/ \/__/ ~~ \/__/ \/__/ \/__/
Slyblime is Sylvester the Cat's Common Lisp IDE for Sublime Text 4:
Slyblime is an implementation of SLY and uses the same backend (SLYNK).
Currently it includes:
- REPL integration including backtracking
- Autocomplete and documentation
- References, disassembly, macroexpansion etc.
- Inspection support
- Tracing support
- Compilation support with notes
- Multiple connexions
- Debugger including stack frame inspection
- NEW! Ability to open an inferior Lisp directly from the editor!
The primary missing feature is the ability to use stickers from Sly.
Installation
First install SublimeREPL and this plugin.
Use Package Control to install them, or download and unzip the plugins in your packages folder.
Then type Sly: Upgrade SublimeREPL to work with Sly
into the command palette.
Finally, to get started just run Sly: Start and connect to an inferior Lisp instance
in the command palette (you may need to change the default lisp program in the settings).
Obligatory animated GIFs section
Flex Completion
Backreferences
Usage
Make sure to install SublimeREPL (via Package Control) and then running Sly: Upgrade SublimeREPL to work with Sly
into the command palette before attempting to use Slyblime!
Using an inferior Lisp
Go to the settings and set the inferior lisp command to what you want (by default it's lisp
).
After that run Sly: Start and connect to an inferior Lisp instance
to start a inferior lisp and REPL.
External connexion
To connect to a Slynk instance run Sly: Connect to slynk
using the command palette.
Make sure to use the included Lisp+
syntax for all the features to work correctly.
Pathname translation
To use pathname translation, create file Sublime Text/Packages/User/slyblime/filename_translators.py
.
Then at the top add from slyblime.filename_translation import *
.
A pathname translator is any class definition which extends the (slyblime.filename_translation.
)PathnameTranslator
abstract class as follows:
class PathnameTranslator():
# Tells Slyblime if the translator should be offered for the current connexion
def is_active(self, session: SlynkSession) -> bool
def local_to_remote(self, pathname: str) -> str
def remote_to_local(self, pathname: str) -> str
# A two line description of the translator for the selection menu
description: Tuple[str, str]
``` For most cases, it is preferable to use extend the (`slyblime.filename_translation.`)`SimpleTranslator` abstract class:
```python
class SimpleTranslator(PathnameTranslator):
local_stem:str
remote_stem:str
def is_active(self, session: SlynkSession) -> bool
``` where a bijection is created such that path "`local_stem`/*A*" ≃ "`remote_stem`/*A*".
## Developping
The recommended way to develop is to clone this repo somewhere, then symlink the `src` folder to the Sublime packages folder and symlink the `sly` submodule folder into the `src` folder. While this may seem convolouted, this allows almost all files to remain toplevel in the package folder which means that Sublime Text will reload them upon modification, speeding up editing speed.
## Copying
See [COPYING.md](COPYING.md), but tl;dr GPL.
## Contributing
Open an issue or a pull request.