All Projects → s-clerc → slyblime

s-clerc / slyblime

Licence: other
Interactive Lisp IDE with REPL, Inspector, Debugger and more for Sublime Text 4.

Programming Languages

python
139335 projects - #7 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to slyblime

Indium
A JavaScript development environment for Emacs
Stars: ✭ 1,058 (+2922.86%)
Mutual labels:  debugger, repl, inspector
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+2237.14%)
Mutual labels:  debugger, repl
Spector.js
Explore and Troubleshoot your WebGL scenes with ease.
Stars: ✭ 599 (+1611.43%)
Mutual labels:  debugger, inspector
Gomacro
Interactive Go interpreter and debugger with REPL, Eval, generics and Lisp-like macros
Stars: ✭ 1,784 (+4997.14%)
Mutual labels:  debugger, repl
Ply
CSS inspection aided by visual regression pruning
Stars: ✭ 370 (+957.14%)
Mutual labels:  debugger, inspector
Winrepl
x86 and x64 assembly "read-eval-print loop" shell for Windows
Stars: ✭ 424 (+1111.43%)
Mutual labels:  debugger, repl
Magix Inspector
magix项目调试分析工具
Stars: ✭ 134 (+282.86%)
Mutual labels:  debugger, inspector
Inspector
A drop-anywhere C++ REPL
Stars: ✭ 767 (+2091.43%)
Mutual labels:  repl, inspector
Lua Resty Repl
Interactive console (REPL) for Openresty and luajit code
Stars: ✭ 165 (+371.43%)
Mutual labels:  debugger, repl
Sublime debugger
Graphical Debugger for Sublime Text using the debug adapter protocol
Stars: ✭ 179 (+411.43%)
Mutual labels:  debugger, sublime-text
Mond
A scripting language for .NET Core
Stars: ✭ 237 (+577.14%)
Mutual labels:  debugger, repl
Rawkit
🦊 Immediately Open Chrome DevTools when debugging Node.js apps
Stars: ✭ 306 (+774.29%)
Mutual labels:  debugger, inspector
Byebug
Debugging in Ruby 2
Stars: ✭ 3,202 (+9048.57%)
Mutual labels:  debugger, repl
Mcclim
An implementation of the Common Lisp Interface Manager, version II
Stars: ✭ 461 (+1217.14%)
Mutual labels:  debugger, inspector
Croissant
🥐 A Lua REPL and debugger
Stars: ✭ 285 (+714.29%)
Mutual labels:  debugger, repl
Tutkain
A Sublime Text package for interactive Clojure development
Stars: ✭ 62 (+77.14%)
Mutual labels:  sublime-text, repl
Pry Byebug
Step-by-step debugging and stack navigation in Pry
Stars: ✭ 1,827 (+5120%)
Mutual labels:  debugger, repl
GoDebug
Go debugger (Delve) integration with Sublime Text 3
Stars: ✭ 20 (-42.86%)
Mutual labels:  debugger, sublime-text
Clojure-Sublimed
Clojure support for Sublime Text 4
Stars: ✭ 268 (+665.71%)
Mutual labels:  sublime-text, repl
lavalink-replit
hosting lavalink on replit has never been easier than before. just click on run then you’re done.
Stars: ✭ 26 (-25.71%)
Mutual labels:  repl
      ___           ___       ___           ___           ___                   ___           ___     
     /\  \         /\__\     |\__\         /\  \         /\__\      ___        /\__\         /\  \    
    /::\  \       /:/  /     |:|  |       /::\  \       /:/  /     /\  \      /::|  |       /::\  \   
   /:/\ \  \     /:/  /      |:|  |      /:/\:\  \     /:/  /      \:\  \    /:|:|  |      /:/\:\  \  
  _\:\~\ \  \   /:/  /       |:|__|__   /::\~\:\__\   /:/  /       /::\__\  /:/|:|__|__   /::\~\:\  \ 
 /\ \:\ \ \__\ /:/__/        /::::\__\ /:/\:\ \:|__| /:/__/     __/:/\/__/ /:/ |::::\__\ /:/\:\ \:\__\
 \:\ \:\ \/__/ \:\  \       /:/~~/~    \:\~\:\/:/  / \:\  \    /\/:/  /    \/__/~~/:/  / \:\~\:\ \/__/
  \:\ \:\__\    \:\  \     /:/  /       \:\ \::/  /   \:\  \   \::/__/           /:/  /   \:\ \:\__\  
   \:\/:/  /     \:\  \    \/__/         \:\/:/  /     \:\  \   \:\__\          /:/  /     \:\ \/__/  
    \::/  /       \:\__\                  \::/__/       \:\__\   \/__/         /:/  /       \:\__\    
     \/__/         \/__/                   ~~            \/__/                 \/__/         \/__/    

ko-fi

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

Flex Completion

Backreferences

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].