Repository Summary
Checkout URI | https://github.com/jsk-ros-pkg/euslime.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-11-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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
Checkout URI | https://github.com/jsk-ros-pkg/euslime.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2022-11-06 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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