hellerve / sbcli Goto Github PK
View Code? Open in Web Editor NEWA REPL for my SBCL needs
License: GNU General Public License v3.0
A REPL for my SBCL needs
License: GNU General Public License v3.0
At least here (load "utils.lisp")
makes invoking sbcli only work inside its own directory; where should it go instead? to /usr/local/bin/
too? or just put its content inside repl.lisp
?
The following interactive session says it all:
$ sbcli
Veit's REPL for SBCL version 0.1.4
Press CTRL-D or type :q to exit
sbcl> :help
Veit's REPL for SBCL version 0.1.4
Special commands:
:h: Gets help on a symbol <sym>
:help: Prints a general help message
:doc: Print the available documentation for this symbol.
:s: Writes the current session to a file <filename>
:d: Dumps the disassembly of a symbol <sym>
:t: Prints the type of a expression <expr>
:q: Ends the session
:r: Resets the session environment
Currently defined:
sbcl> :r
debugger invoked on a SB-KERNEL:SIMPLE-PACKAGE-ERROR in thread
#<THREAD "main thread" RUNNING {10046101B3}>:
Package "SBCLI" is used by package:("SBCLI-USER")
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [CONTINUE] Remove dependency in other packages.
1: [RETRY ] Retry EVAL of current toplevel form.
2: Ignore error and continue loading file "/usr/local/bin/sbcli".
3: [ABORT ] Abort loading file "/usr/local/bin/sbcli".
4: Abort script, exiting lisp.
(DELETE-PACKAGE SBCLI)
0] 3
Am I missing something obvious?
I feel spoiled asking this, but my what I immediately realize when starting using sbcli with pygmentize, which sounded great, is that the contrast is really too low to be usable. I have a dark pastel theme in my terminal. I have never directly used pygmentize before testing sbcli, but I have now just tried to pygmentize a Python file to standard out, and it really looks horrible. I do not really want to spend more time on this right now (I want to spend time reading my Lisp book instead) but if you have any tips on getting a different color theme with sbcli and pygmentize, I'm all ears.
Otherwise, sbcli seems really neat. Thanks for sharing it.
Thanks for writing this wonderful thing!
I wonder if it's possible to interact with the debugger as in the usual sbcl. For now, by default, it seems that whenever an error (or a condition) occurs, sbcli
prints the message to screen but does not let us choose what to do (e.g. ignore, accept, abort.. etc).
Hi @hellerve.
I'm trying to use pygmentize.
It output the help on the prompt and don't let use the CLI:
โฏ sbcli
My LISP REPL version 0.1.3
Press CTRL-D or type :q to exit
> Usage: /home/max/.local/bin/pygmentize [-l <lexer> | -g] [-F <filter>[:<options>]] [-f <formatter>]
I'm on Linux with Python 3.8 and last Pygments version
Hello,
Currently typing package:sym
will not complete "sym" from "package".
I see that cl-repl does that correctly.
I'm on it, rounding up edge cases.
Hello!
Thanks for sharing this project, it's quite fun. Wondering, whether you have some specific use cases that this project covers the best or maybe, some vision/idea of what it should be?
Previously, I would be using rlwrap sbcl
for some repl experiments. As I see now, thigs that sbcli is doing better (compared to rlwrap sbcl):
cl-readline
means that it's possible to hook into completion via (rl:register-function :complete #'complete)
and do autocomplete (which is missing from rlwrap sbcl combo, or I wasn't able to set it up)doing worse:
(opened the issue to not forget)
Hi,
Thanks for making this project!
I think we should not make sbcli
strictly depend on quicklisp by hardcoding quicklisp specific code at the top of the file.
There are other package managers for Common Lisp such as Nix, Guix, Roswell, etc. that require the project to be in a package manager agnostic format.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.