Age | Commit message (Collapse) | Author |
|
Fixes issue #20
|
|
Some projects use λ, some use lambda, and it is convenient to be able to use the
same mapping engraved into muscle memory for both. Therefore this commit adds a
new variable that allow geiser-insert-lambda to do both, depending on the value.
* elisp/geiser-edit.el (geiser-insert-actual-lambda): New variable.
(geiser-insert-lambda): Respect it.
|
|
|
|
Warning: ‘backward-delete-char’ is for interactive use only;
use ‘delete-char’ instead.
|
|
|
|
|
|
the half backed attempt at standardising guile's model won't work well with
other schemes, and it's not really well thought-out anyway: let's guile do its
thing, and we'll see what we can do in chez.
|
|
|
|
and its use in autodoc (for instance, skip it when in the REPL).
|
|
|
|
|
|
|
|
|
|
it's a bit of a mess and should be using the syntax reader instead, but not
sure if it's worth it.
|
|
same code that finds putative definitions, with all its caveats
|
|
we already had our own lighter mechanism, just needed to use it better. it
will also allow guessing local signatures, quite useful in chezzy (or more
generally r6rs-librarish) schemes.
|
|
|
|
|
|
... as well as a way of telling imenu to look for nested define forms, as the
ones one finds for instance inside (library ...) or (module ...) sexps, or
simply nested defines in function bodies. it's a crappy way of finding
definitions, but it's better than nothing when it's all we have (e.g., R6RS
libraries don't seem to provide an environment/namespace including their
privates, which is a killjoy).
|
|
Chez likes to do that, which is fine now.
|
|
Fixes #45. Thanks to Brian Cully.
|
|
|
|
|
|
|
|
|
|
It's the convention and by following it we make a big step towards
supporting outline navigation.
The convention doesn't say much about what parts of the code are
supposed to be part of that sections and what parts belong in a
subsequent section. Here we put the `require' forms in this section
and maybe some setup code, that's a popular approach.
In most cases there was "" where we now insert "Code:". They both
serve a similar purpose and we keep the former because some users
depend on that for navigation. We even add this "" in libraries
where it previously was missing.
In some cases the permission statement was followed by a commentary,
which obviously does not belong in the "Code:" section. In such cases
add the conventional "Commentary:" section.
|
|
With a hat tip to Mikhail Kryshen, who was wondering in guile-user why
oh why, and rightly so.
|
|
|
|
Add (chibi filesystem) import to geiser.sld
|
|
Add a helper function make-location to chibi interface.
|
|
|
|
So the new functions are named geiser-racket-*-submodules, and by
default all submodule forms are hidden.
Now that we have the helpers in geiser-edit, we could have a generic
command in geiser-mode to change the visibility of form at point.
|
|
The new commands, being racket-specific, are called
geiser-racket-{show,hide,toggle}-tests, and have no default binding in
geiser-mode (since they don't have any meaning in Guile).
The implementation is based on more generic functions in geiser-edit
that allow hiding of any top-level form, given its name, so we will
probably find new forms to hide in the future.
Hiding is limited to top-level forms, which i think is fine for the only
use case we have in mind right now.
|
|
|
|
Since C-\ is a standard Emacs binding, and people know how to change
it anyway. I've also put the command in the menu for Geiser mode, for
discoverability. A pleasant surprise: greek lambdas are understood by
both Racket and Guile.
|
|
|
|
|
|
Just adjusting a regexp.
|
|
We avoid using elisp's read for symbols, reading uninterned ones
instead. And then, we cannot use symbols as keys in responses from
scheme: we're using strings instead.
|
|
... which interns the symbol in the global obarray: rather unfriendly.
We still need to remove a few calls to that beast, and avoid intern in
the scheme reader.
|
|
|
|
|
|
|
|
This allows the implementation decide the concrete structure of the
code sent to the REPL. For instance, it doesn't need to be a single
s-expression, and argument order can be re-arranged.
|
|
|
|
|
|
|
|
|
|
|
|
|