README.org (2398B)
1 #+title: selime.el -- SLIME emulation for Emacs Lisp 2 #+author: Jamie Beardslee 3 #+email: jdb@jamzattack.xyz 4 5 This package is my attempt at recreating some features of [[https://github.com/slime/slime][SLIME]] for 6 Elisp. 7 8 * Installation 9 ** package.el 10 11 Download selime.el, and use =M-x package-install-file RET 12 path/to/selime.el=. 13 14 ** straight.el 15 16 Evaluate the following: 17 18 #+begin_src emacs-lisp 19 (straight-use-package 20 '(selime :type git 21 :flavor melpa 22 :repo "git://jamzattack.xyz/selime")) 23 #+end_src 24 25 ** Manual installation 26 27 1. Download selime.el 28 2. Stick it in [[help:load-path][load-path]] 29 3. Update autoloads 30 4. (optionally) byte-compile it 31 32 * Features 33 34 ** Compilation 35 36 Selime adds the following keybindings for byte-compilation: 37 38 | C-c C-c | Compile top-level form | 39 | C-c C-e | Compile last s-expression | 40 | C-c M-k | Compile the buffer's file, without loading it | 41 | C-c C-k | Compile and load the current buffer | 42 43 ** Documentation 44 45 Selime binds the following keys for documentation: 46 47 Note: If the package [[https://github.com/Wilfred/helpful][helpful]] is installed, selime uses helpful's 48 variants of these functions. 49 50 | C-c C-d C-d | Describe symbol | 51 | C-c C-d d | Describe symbol | 52 | C-c C-d C-f | Describe function | 53 | C-c C-d f | Describe function | 54 | C-c C-d C-v | Describe variable | 55 | C-c C-d v | Describe variable | 56 57 ** IELM 58 59 Selime defines a function, [[help:selime-ielm][selime-ielm]], which acts more like 60 [[help:slime-switch-to-output-buffer][slime-switch-to-output-buffer]]. With a prefix argument (C-u), you can 61 select the name for the IELM buffer. 62 63 | C-c C-z | Switch to IELM in other window | 64 65 ** Disassembly 66 67 If point is on a function, disassemble it. Otherwise, prompt for a 68 function name. 69 70 | C-c M-d | Disassemble function at point | 71 72 ** Tracing 73 74 Like SLIME, =C-c C-t= toggles tracing of a function. The function 75 name is read from the minibuffer, with the symbol at point being the 76 default input. 77 78 | C-c C-t | Toggle trace | 79 80 ** Macroexpand 81 82 Selime implements a very minimal (i.e. crap) form of macro expansion. 83 The command [[help:selime-macroexpand][selime-macroexpand]] will open a new buffer containing the 84 expansion of the s-expression around point. 85 86 | C-c RET | Macroexpand sexp around point | 87 88 *** TODO Integrate with [[https://github.com/joddie/macrostep][macrostep]] 89 90 * License 91 92 GPL3+