[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-racket 130c38e 028/191: Racket: support for gracket
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-racket 130c38e 028/191: Racket: support for gracket-text |
Date: |
Sun, 1 Aug 2021 18:31:54 -0400 (EDT) |
branch: elpa/geiser-racket
commit 130c38e656aa7a61002731606eaf9801184295f7
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Racket: support for gracket-text
---
elisp/geiser-racket.el | 36 ++++++++++++++++++++++++++++++------
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/elisp/geiser-racket.el b/elisp/geiser-racket.el
index fc3fe23..3d164f1 100644
--- a/elisp/geiser-racket.el
+++ b/elisp/geiser-racket.el
@@ -27,12 +27,20 @@
(geiser-custom--defcustom geiser-racket-binary
(cond ((eq system-type 'windows-nt) "Racket.exe")
- ((eq system-type 'darwin) "racket")
(t "racket"))
"Name to use to call the racket executable when starting a REPL."
:type '(choice string (repeat string))
:group 'geiser-racket)
+(geiser-custom--defcustom geiser-racket-gracket-binary
+ (cond ((eq system-type 'windows-nt) "GRacket-text.exe")
+ (t "gracket-text"))
+ "Name to use to call the gracket executable when starting a REPL.
+This executable is used by `run-gracket', and, if
+`geiser-racket-use-gracket-p' is set to t, by `run-racket'."
+ :type '(choice string (repeat string))
+ :group 'geiser-racket)
+
(geiser-custom--defcustom geiser-racket-collects nil
"A list of paths to be added to racket's collection directories."
:type '(repeat file)
@@ -43,24 +51,34 @@
:type 'string
:group 'geiser-racket)
+(geiser-custom--defcustom geiser-racket-use-gracket-p nil
+ "Whether to use the gracket binary to start Racket REPLs."
+ :type 'boolean
+ :group 'geiser-racket)
+
;;; REPL support:
-(defun geiser-racket--binary ()
- (if (listp geiser-racket-binary)
- (car geiser-racket-binary)
+(defsubst geiser-racket--real-binary ()
+ (if geiser-racket-use-gracket-p
+ geiser-racket-gracket-binary
geiser-racket-binary))
+(defun geiser-racket--binary ()
+ (let ((binary (geiser-racket--real-binary)))
+ (if (listp binary) (car binary) binary)))
+
(defun geiser-racket--parameters ()
"Return a list with all parameters needed to start racket.
This function uses `geiser-racket-init-file' if it exists."
(let ((init-file (and (stringp geiser-racket-init-file)
- (expand-file-name geiser-racket-init-file))))
+ (expand-file-name geiser-racket-init-file)))
+ (binary (geiser-racket--real-binary)))
`("-i" "-q"
"-S" ,(expand-file-name "racket/" geiser-scheme-dir)
,@(apply 'append (mapcar (lambda (p) (list "-S" p))
geiser-racket-collects))
- ,@(and (listp geiser-racket-binary) (cdr geiser-racket-binary))
+ ,@(and (listp binary) (cdr binary))
,@(and init-file (file-readable-p init-file) (list "-f" init-file))
"-f" ,(expand-file-name "racket/geiser.rkt" geiser-scheme-dir))))
@@ -219,6 +237,12 @@ This function uses `geiser-racket-init-file' if it exists."
(geiser-impl--add-to-alist 'regexp "\\.ss$" 'racket t)
(geiser-impl--add-to-alist 'regexp "\\.rkt$" 'racket t)
+(defun run-gracket ()
+ "Start the Racket REPL using gracket instead of plain racket."
+ (interactive)
+ (let ((geiser-racket-use-gracket-p t))
+ (run-racket)))
+
(provide 'geiser-racket)
;;; geiser-racket.el ends here
- [nongnu] branch elpa/geiser-racket created (now 22e56ce), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket ac0f055 002/191: Racket: PLT implementation renamed to Racket., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 6b02ac9 019/191: Truncating lines in documentation browser., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 0a35180 024/191: Racket: better stack traces using errortrace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 45fdb13 003/191: Elisp: misc little bugs (revealed by the byte compiler) fixed., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 54d4b8d 017/191: Racket: indentation for typed binding forms., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 7f8b4b7 014/191: Better switch/import REPL commands., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 7a16f5a 012/191: Racket: using `_' for naming unknown args in autodoc., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 130c38e 028/191: Racket: support for gracket-text,
Philip Kaludercic <=
- [nongnu] elpa/geiser-racket cd122ff 021/191: Tweaks to scheme implementation selection, and docs for it., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 26ba1f2 011/191: Racket: improvements in module lookups., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c03596d 013/191: Wee refactoring., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c6c6bba 026/191: Support for evaluation warnings, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket c07a42d 034/191: Racket: using meta-commands instead of dynamic-require (#30347), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket d8076a5 029/191: Couple nits, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket de36aed 027/191: Better REPL exit command, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 15cb8fb 006/191: Racket: providing error contexts, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 739aaec 010/191: Racket: improvements in non-loaded module location., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-racket 912e318 020/191: Racket: catching errors during contract retrieval., Philip Kaludercic, 2021/08/01