[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-gauche ca7629e 012/119: geieser-gauche fixes
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-gauche ca7629e 012/119: geieser-gauche fixes |
Date: |
Sun, 1 Aug 2021 18:27:48 -0400 (EDT) |
branch: elpa/geiser-gauche
commit ca7629e6f3624a5bf2ec8583e3979fffc9f90c19
Author: András Simonyi <andras.simonyi@gmail.com>
Commit: András Simonyi <andras.simonyi@gmail.com>
geieser-gauche fixes
---
geiser-gauche.el | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 86 insertions(+), 6 deletions(-)
diff --git a/geiser-gauche.el b/geiser-gauche.el
index 19e6d26..3a8b476 100644
--- a/geiser-gauche.el
+++ b/geiser-gauche.el
@@ -45,6 +45,11 @@
:type 'boolean
:group 'geiser-gauche)
+(geiser-custom--defcustom geiser-gauche-extra-keywords nil
+ "Extra keywords highlighted in Gauche scheme buffers."
+ :type '(repeat string)
+ :group 'geiser-chicken)
+
;;; REPL support:
@@ -102,16 +107,88 @@
(error :f)))
(t :f)))
+(defun geiser-gauche--enter-command (module)
+ (format "(select-module %s)" module))
+
+(defun geiser-gauche--import-command (module)
+ (format "(import %s)" module))
+
(defun geiser-gauche--symbol-begin (module)
(if module
(max (save-excursion (beginning-of-line) (point))
(save-excursion (skip-syntax-backward "^(>") (1- (point))))
(save-excursion (skip-syntax-backward "^'-()>") (point))))
-(defun geiser-gauche--import-command (module)
- (format "(import %s)" module))
-
(defun geiser-gauche--exit-command () "(exit)")
+
+(defconst geiser-gauche--binding-forms
+ '("and-let" "and-let1" "let1" "if-let1" "rlet1" "receive" "fluid-let"
"let-values"
+ "^" "^a" "^b" "^c" "^d" "^e" "^f" "^g" "^h" "^i" "^j" "^k" "^l" "^m" "^n"
"^o" "^p" "^q"
+ "^r" "^s" "^t" "^v" "^x" "^y" "^z" "^w" "rec"))
+
+(defconst geiser-gauche--binding-forms*
+ '("and-let*" "let*-values" ))
+
+(defun geiser-gauche--keywords ()
+ (append
+ (geiser-syntax--simple-keywords geiser-gauche-extra-keywords)
+ (geiser-syntax--simple-keywords geiser-gauche-builtin-keywords)))
+
+(defconst geiser-gauche-builtin-keywords
+ '("and-let"
+ "and-let1"
+ "assume"
+ "cut"
+ "cute"
+ "define-constant"
+ "define-enum"
+ "define-in-module"
+ "define-inline"
+ "define-type"
+ "dotimes"
+ "dolist"
+ "ecase"
+ "fluid-let"
+ "if-let1"
+ "let1"
+ "let-keywords"
+ "let-optionals"
+ "let-optionals*"
+ "let-values"
+ "receive"
+ "rec"
+ "rlet1"
+ "select-module"
+ "use"
+ "with-input-from-pipe"
+ "^" "^a" "^b" "^c" "^d" "^e" "^f" "^g" "^h" "^i" "^j" "^k" "^l" "^m" "^n"
"^o" "^p" "^q"
+ "^r" "^s" "^t" "^v" "^x" "^y" "^z" "^w"
+ "with-error-handler"
+ "with-error-to-port"
+ "with-exception-handler"
+ "with-exception-handler"
+ "with-input-conversion"
+ "with-input-from-file"
+ "with-input-from-port"
+ "with-input-from-process"
+ "with-input-from-string"
+ "with-iterator"
+ "with-lock-file"
+ "with-locking-mutex"
+ "with-module"
+ "with-output-conversion"
+ "with-output-to-file"
+ "with-output-to-port"
+ "with-output-to-process"
+ "with-output-to-string"
+ "with-port-locking"
+ "with-ports"
+ "with-profiler"
+ "with-random-data-seed"
+ "with-signal-handlers"
+ "with-string-io"
+ "with-time-counter"))
+
;;; REPL startup
@@ -150,18 +227,21 @@
(minimum-version geiser-gauche-minimum-version)
(repl-startup geiser-gauche--startup)
(prompt-regexp geiser-gauche--prompt-regexp)
- (debugger-prompt-regexp nil) ;; geiser-gauche--debugger-prompt-regexp
+ (debugger-prompt-regexp nil)
+ ;; geiser-gauche--debugger-prompt-regexp
;; (enter-debugger geiser-gauche--enter-debugger)
(marshall-procedure geiser-gauche--geiser-procedure)
(find-module geiser-gauche--get-module)
- ;; (enter-command geiser-gauche--enter-command)
+ (enter-command geiser-gauche--enter-command)
(exit-command geiser-gauche--exit-command)
(import-command geiser-gauche--import-command)
(find-symbol-begin geiser-gauche--symbol-begin)
(display-error geiser-gauche--display-error)
+ (binding-forms geiser-gauche--binding-forms)
+ (binding-forms* geiser-gauche--binding-forms*)
;; (external-help geiser-gauche--manual-look-up)
;; (check-buffer geiser-gauche--guess)
- ;; (keywords geiser-gauche--keywords)
+ (keywords geiser-gauche--keywords)
(case-sensitive geiser-gauche-case-sensitive-p))
(geiser-impl--add-to-alist 'regexp "\\.scm$" 'gauche t)
- [nongnu] elpa/geiser-gauche e70d9ed 019/119: Cleanup, (continued)
- [nongnu] elpa/geiser-gauche e70d9ed 019/119: Cleanup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 202336b 006/119: Add case-sensitivity variable, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 60c95ca 002/119: Add initial version of geiser.scm and geiser-gauche.el, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 6da3f02 011/119: Fix geiser:eval, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche b474b09 014/119: Don't filter completions based on context (for now), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 9dafd9f 079/119: License-related updates, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 04208f5 075/119: Cleanup Cask file, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 687713c 085/119: Update README.md, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche f1ccc62 086/119: Update README.md, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche f9064d8 003/119: Implement get-module and other Emacs functions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche ca7629e 012/119: geieser-gauche fixes,
Philip Kaludercic <=
- [nongnu] elpa/geiser-gauche 4cb8586 007/119: Fix gauche prompt regexp, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 5876bc2 018/119: Deal with dotted signatures in autodoc, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 3fee273 027/119: Get autodoc info from all modules, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 98c52e6 023/119: Deal with complex key arguments, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche c9d367e 024/119: Fix complex key argument autodocs, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 5c18e45 030/119: Finish autodoc and symbol signature lookup, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 752a496 031/119: Add code source reference, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 2ef21b4 044/119: Remove a TODO comment, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche 762cd22 035/119: Add guessing functions, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-gauche fbcd9a4 050/119: Minor fix, Philip Kaludercic, 2021/08/01