Repository Summary
| Description | Emacs SLIME for Euslisp |
| Checkout URI | https://github.com/jsk-ros-pkg/euslime.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2022-11-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | hacktoberfest |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| euslime | 1.1.4 |
README
euslime
Interactive interpreter for EusLisp with support for completion, on-spot referencing, auto-documetation, definition search, and more. Euslime is built on top of slime and runs on emacs.
For a quick guide to emacs try the following links:
Quick Start
- Install
apt install ros-melodic-euslime
- Configure your emacs init file
;; ~/.emacs.el
(add-to-list 'load-path "/opt/ros/melodic/share/euslime")
(require 'euslime-config)
(setq inferior-euslisp-program "roseus")
(slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))
-
Run
Open emacs and type the command:
M-x euslime
Using with eus10
Compile from source with the eus10 branch: https://github.com/jsk-ros-pkg/euslime/tree/eus10.
The following command allows to automatically shift between apt and source euslisp builds.
;; ~/.emacs.el
(if (string-prefix-p "/opt" (getenv "EUSDIR"))
(progn
(add-to-list 'load-path "/opt/ros/melodic/share/euslime")
(setq euslime-compile-path (expand-file-name "~/.euslime_opt/")))
(add-to-list 'load-path "/home/affonso/euslime_ws/install/share/euslime"))
(require 'euslime-config)
(setq inferior-euslisp-program "roseus")
(slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))
Logging
The following setting will save logs of all your sessions on exit.
;; ~/.emacs.el
(defun euslime-save-logs ()
(when (get-buffer "*slime-events*")
(with-current-buffer (get-buffer "*slime-events*")
(let* ((logdir (concat (file-name-as-directory euslime-compile-path) "log"))
(filename (concat "euslog." (format-time-string "%s" (current-time)))))
(unless (file-exists-p logdir)
(make-directory logdir t))
(write-file (expand-file-name filename logdir))))))
(add-hook 'kill-emacs-hook 'euslime-save-logs)
Cheat sheet
| On slime buffer | |
|---|---|
| [TAB] | completion |
| C-c C-d d | describe/ help |
| C-c C-d a | apropos |
| C-c C-d p | apropos package |
| M-. | look for definition |
| C-c [RET] | macroexpansion |
| ,quit | quit session |
| ,restart-inferior-lisp | restart session |
| ,rossetip | set ros ip and hostname |
| ,rossetmaster | set ros master uri |
| On editing buffers | |
|---|---|
| C-c TAB | completion |
| C-c C-c | load expression |
| C-c C-l | load-file |
| C-c C-d o | go back to repl buffer |
| On other slime buffers | |
|---|---|
| q | quit buffer |
| [RET] | select option |
Build from Source
- Setup
```bash # Clone code
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | Emacs SLIME for Euslisp |
| Checkout URI | https://github.com/jsk-ros-pkg/euslime.git |
| VCS Type | git |
| VCS Version | master |
| Last Updated | 2022-11-06 |
| Dev Status | DEVELOPED |
| Released | RELEASED |
| Tags | hacktoberfest |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| euslime | 1.1.4 |
README
euslime
Interactive interpreter for EusLisp with support for completion, on-spot referencing, auto-documetation, definition search, and more. Euslime is built on top of slime and runs on emacs.
For a quick guide to emacs try the following links:
Quick Start
- Install
apt install ros-melodic-euslime
- Configure your emacs init file
;; ~/.emacs.el
(add-to-list 'load-path "/opt/ros/melodic/share/euslime")
(require 'euslime-config)
(setq inferior-euslisp-program "roseus")
(slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))
-
Run
Open emacs and type the command:
M-x euslime
Using with eus10
Compile from source with the eus10 branch: https://github.com/jsk-ros-pkg/euslime/tree/eus10.
The following command allows to automatically shift between apt and source euslisp builds.
;; ~/.emacs.el
(if (string-prefix-p "/opt" (getenv "EUSDIR"))
(progn
(add-to-list 'load-path "/opt/ros/melodic/share/euslime")
(setq euslime-compile-path (expand-file-name "~/.euslime_opt/")))
(add-to-list 'load-path "/home/affonso/euslime_ws/install/share/euslime"))
(require 'euslime-config)
(setq inferior-euslisp-program "roseus")
(slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))
Logging
The following setting will save logs of all your sessions on exit.
;; ~/.emacs.el
(defun euslime-save-logs ()
(when (get-buffer "*slime-events*")
(with-current-buffer (get-buffer "*slime-events*")
(let* ((logdir (concat (file-name-as-directory euslime-compile-path) "log"))
(filename (concat "euslog." (format-time-string "%s" (current-time)))))
(unless (file-exists-p logdir)
(make-directory logdir t))
(write-file (expand-file-name filename logdir))))))
(add-hook 'kill-emacs-hook 'euslime-save-logs)
Cheat sheet
| On slime buffer | |
|---|---|
| [TAB] | completion |
| C-c C-d d | describe/ help |
| C-c C-d a | apropos |
| C-c C-d p | apropos package |
| M-. | look for definition |
| C-c [RET] | macroexpansion |
| ,quit | quit session |
| ,restart-inferior-lisp | restart session |
| ,rossetip | set ros ip and hostname |
| ,rossetmaster | set ros master uri |
| On editing buffers | |
|---|---|
| C-c TAB | completion |
| C-c C-c | load expression |
| C-c C-l | load-file |
| C-c C-d o | go back to repl buffer |
| On other slime buffers | |
|---|---|
| q | quit buffer |
| [RET] | select option |
Build from Source
- Setup
```bash # Clone code
File truncated at 100 lines see the full file