Commit graph

33 commits

Author SHA1 Message Date
Jeetaditya Chatterjee
4696f0d4ce
tweak(syntax): feat gate flycheck in all modules 2023-07-25 00:11:09 +01:00
Andrew Whatson
f2c72a741f fix(scheme): fix calls to deprecated switch-to-geiser 2023-02-20 19:59:30 -05:00
Andrew Whatson
2ff0252044 fix(scheme): fix eval handler for Geiser REPLs
The default behavior of `+eval/send-region-to-repl` pastes the region
into the repl buffer, which doesn't work well with Geiser.  This change
ensures `geiser-eval-region` is used instead.
2023-02-20 19:59:30 -05:00
Andrew Whatson
ac9afd060e fix(scheme): fix popup rule not matching Geiser REPLs 2023-02-20 19:59:30 -05:00
Andrew Whatson
5fb96f2886 fix(scheme): restore repl-per-project for scheme
Geiser commit 476897e4f8a1 introduced `geiser-repl-per-project-p` which
defaults to false, breaking our repl-per-project support.  Previously,
setting `geiser-repl-current-project-function` was sufficient.
2022-09-07 01:40:10 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Henrik Lissner
e2e33b1b49
tweak(scheme): move repl history file to cache dir 2022-05-27 00:35:37 +02:00
Gerry Agbobada
4786e739af feat(scheme): auto-add guix channels to load-path
Guix is detected with a simple `executable-find`, and this trick assumes
that guix is running on version 3 of Guile (which hopefully won't
change for a while)
2021-09-15 00:56:54 +02:00
Henrik Lissner
0b2415e8bf
Merge pull request #4890 from hugonobrega/develop
fix and add keybinds in :lang scheme, with descriptions
2021-05-01 02:02:32 -04:00
Henrik Lissner
cb4782b190 Bump :lang scheme
emacs-geiser/chez@4cb7f26 -> emacs-geiser/chez@03da1c1
emacs-geiser/chibi@54e7f38 -> emacs-geiser/chibi@6f59291
emacs-geiser/chicken@47be5b4 -> emacs-geiser/chicken@ceab39c
emacs-geiser/gambit@0ee4156 -> emacs-geiser/gambit@3294c94
emacs-geiser/geiser@c5a9aae -> emacs-geiser/geiser@2b45bd3
emacs-geiser/guile@93ef710 -> emacs-geiser/guile@700ac98
emacs-geiser/racket@a87fd44 -> emacs-geiser/racket@22e56ce

Also includes minor refactors.
2021-04-21 21:45:04 -04:00
Hugo Nobrega
4f50d9a750 Doom style: add blank lines, align keys, change macro expansion keys 2021-04-19 21:08:02 -03:00
Hugo Nobrega
c2b40148b8 fix and add keybinds in :lang scheme, with descriptions
Some keys were bound to no-longer-existing commands, or commands which changed
name.

Others only made sense in the REPL, or /also/ in the REPL, so the keybinds are
now in `scheme-mode-map', `geiser-repl-mode-map', or both accordingly.
2021-04-18 22:01:17 -03:00
Henrik Lissner
32cf114dc7 lang/scheme: fix support for scheme implementations
Adds the following flags:

  +chez
  +chibi
  +chicken
  +gambit
  +gauche
  +guile
  +kawa
  +mit
  +racket

Fixes #4863
2021-04-14 23:43:45 -04:00
Andrew Whatson
d06e37ff72 Add lookup handler for geiser-repl-mode 2021-02-23 08:48:56 +10:00
Ian Wahbe
93ca926664 Disable scheme-mode for .rkt files if :lang racket 2020-12-22 15:39:05 -08:00
Andrew Whatson
5d8461854d Use separate geiser REPLs per project 2020-08-20 10:13:35 +10:00
Andrew Whatson
5bacfd6311 Improve popup rule for geiser REPLs
Fix the rule to properly match when multiple REPLs are opened.

Add an explicit size to match other REPLs.
2020-06-19 14:45:31 +10:00
Andrew Whatson
5190c094af Remove explicit hook of geiser-mode on scheme-mode
The geiser module already adds a hook to `geiser-mode--maybe-activate`
which respects the user's setting of `geiser-auto-mode-p`.
2020-06-19 14:45:31 +10:00
Andrew Whatson
9a8710f87e Use upstream flycheck-guile package 2020-06-11 14:40:50 +10:00
Andrew Whatson
61e5ab0581 Tweak geiser configuration and add flycheck-guile 2020-06-10 11:36:30 +10:00
Elais Player
0345838aa9 unset geiser-mode-start-repl-p
Initially I believed it would be a good idea to start the repl upon
entry into a scheme file, but this has so far preempted tools that rely
on direnv to create ad-hoc environments leading to not all dependencies
being availabe for scheme files. I had not realized how annoying this
could be because at the time all of my scheme libraries were installed
in my user environment.

Another reason for this change is it brings the scheme module back into line with
the repl based modules for other lisps like clojure.
2020-06-07 11:52:37 -06:00
Henrik Lissner
abc201ae06
Improve indent logic in scheme-mode
Better indentation for property lists and functions starting with
'define'.
2020-04-24 00:35:01 -04:00
Henrik Lissner
74d05552c1
Refactor scheme module 2020-04-24 00:33:54 -04:00
Elais Player
5205fde619
Add useful defaults and bindings to scheme mode (#2947)
* Add useful defaults and bindings to scheme mode

Scheme mode was pretty bare for a long time now and lacked many of
geiser's useful features like `geiser-smart-tab` and starting the geiser
repl on entering a file. This turns them on by default for the
productive schemer.

Besides that the following key bindings were remapped
+ `SPC m e e` -> `geiser-eval-last-sexp`
+ `SPC m e d` -> `geiser-eval-definition`
+ `SPC m e D` -> `geiser-eval-definition-and-go`

This brings the geiser keymaps in line with other lisp modes in doom.

Another change involves adding macro expand commands under `SPC m m` so
schemers can see what evil lurks beneath their commands.

Geiser autodoc commands have also been added under `SPC m h` for
schemers to read the docs, though they can still use `SPC c k` to do the
same thing.

* Remove package cookie

Its only necessary when not using (use-package!)

* Use setq instead of custom

* Add `defer t` back

* Add defer flag for scheme package

If a user went directly to a scheme file after load they would get an
error concerning rainbow-delimiters not being loaded. Deferring scheme
mode stops that error from happening

* Fix typo

Co-authored-by: Elais Player <elais@samus.hsd1.nm.comcast.net>
2020-04-24 00:00:27 -04:00
Rudi Grinberg
abdc5502bc Use [set-popup-rules!] instead of [set-popup-rule!] 2019-12-08 21:19:30 +07:00
Rudi Grinberg
1a1b5c650c Move geiser rules above map 2019-12-08 21:17:01 +07:00
Rudi Grinberg
10b06b06d9 popup rules for geiser buffers 2019-12-08 16:28:13 +07:00
Rudi Grinberg
9ad0e710f5 Do not quit scheme repl's automatically 2019-12-08 16:17:53 +07:00
Henrik Lissner
11a6c03d69
Standardize naming of repl handler commands 2019-10-07 14:08:58 -04:00
Henrik Lissner
016f6c1b8b
lang/scheme: general refactor
To optimize it and conform to new elips conventions introduced with
straight.el integration.
2019-09-13 22:00:33 -04:00
Elais Player
3cc7066063 Uncomment closing parenthesis in scheme config
Accidentally commented out a closing parenthesis in the scheme module
config, fixed in this commit.
2019-07-23 11:08:29 -05:00
Elais Player
0659675ade Add scheme module README
The README.org has the prereqs as well as links to geiser and the
various scheme implementations.
2019-07-23 11:08:29 -05:00
Elais Player
db8d541fbe Add scheme module
Adds scheme module with geiser.
2019-07-23 11:08:29 -05:00