Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

Repo symbol

euslime repository

euslime

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

  1. Install
    apt install ros-melodic-euslime
    
  1. 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))
    
  1. 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

  1. Setup

```bash # Clone code

File truncated at 100 lines see the full file

Repo symbol

euslime repository

euslime

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

  1. Install
    apt install ros-melodic-euslime
    
  1. 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))
    
  1. 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

  1. Setup

```bash # Clone code

File truncated at 100 lines see the full file