summaryrefslogtreecommitdiff
path: root/elisp/geiser-repl.el
AgeCommit message (Collapse)Author
2022-04-23Suggestive patch for simplified completionDaniel Mendler
NOTE: The patch is largely untested. Modifications: - Update readme.org - Remove geiser-company - Move Company extensions to geiser-completion Omissions: - geiser-company--inhibit-autodoc has been removed. Eldoc handling should be implemented in the frontend, not in the backend. See for example: https://github.com/minad/corfu/blob/04fbfce3d7e9c125a7fd22a34455a508247a522b/corfu.el#L1212 - The quickhelp-string action and geiser-company--docstring have been removed. company-quickhelp can use `:company-doc-buffer` instead with minimal overhead. See: https://github.com/company-mode/company-quickhelp/blob/3ca2708b4e5190205aca01d65fe1b391963a53f9/company-quickhelp.el#L138 - The automatic Company setup has been removed. Personally I am not a fan of such auto configuration. It is better if completion is configured consistently in the user configuration. You may want to restore the auto configuration for backward compatibility. It depends on your backward compatibility story. I am fine with rare breaking changes from time to time. - There is a cyclic dependency between geiser-edit/geiser-doc and geiser-completion, which should be untangled.
2022-03-06Harmonizing buffer namesjao
So that now all start with *Geiser (and a space for hidden ones) and use consistent capitalization (see issue #38).
2022-03-06Depend on project 0.8.1, for users of emacs < 28jao
Fixes issue #37.
2022-03-03Fix #36: make sure default-directory is set before starting the processjao
2022-02-23Set REPL's default directory to project's rootjao
2022-02-01Fix: "\r" instead of [return] for corfu happinessjao
2022-01-28Slightly better default project default functionjao
2022-01-22Fix for project functions other than project.el'sjao
Thanks to Denis Golovachev for pointing this out!
2021-12-20Tweaks for boundary conditionsjao
Like quitting a REPL right after opening it, or calling evaluation functions in the wrong, non-scheme buffer.
2021-12-18'debug commands so that each impl can take care of themjao
2021-12-18Allowing debuggers to use Dbg buffer for outputjao
2021-12-18initial support for connection-addressjao
2021-12-18new geiser-repl-per-project-p to control per-project REPLsjao
And we still need some fixes here when that's active, specifically for the case when you travel to a file outside the current project: it becomes repeless, which is a sad state.
2021-12-05Wee refactoringjao
2021-12-05Refinement: geiser-repl-add-project-paths instead of a boolean flagjao
2021-12-05New option geiser-repl-add-project-path-pjao
Together with project-current as a default for the project root function when available, now that Emacs 28 is on the horizon.
2021-12-05Redundant custom groups removed (geiser-repl)jao
2021-12-05Initialise geiser-repl-current-project-function according to availabilityjao
2021-12-04Fix: better handling of recurring debugging entrancesjao
2021-11-30Better handling of REPL's output regionsjao
FSVO better, but at least the code is cleaner and prompts regexps more accurate.
2021-11-21New geiser-mode command: geiser-exit-repljao
Useful specially for REPLs including a debugger, where you might want to exit it from a scheme buffer. Bound by default to C-c C-q.
2021-04-21Use defvar-localJonas Bernoulli
It is available since Emacs 24.3 and we already depend on Emacs 24.4.
2021-02-15Determine the display string of command key dynamically.Zhu Zihao
* elisp/geiser-repl.el(geiser-repl--sentinel): Use `substitute-command-keys'.
2020-12-02Improve doc-strings of some optionsJonas Bernoulli
The whole first sentence should fit on the first line. If that makes the line a bit long then that is unfortunate but better than wrapping it onto a new line. When wrapping onto a new line anyway then the second line should never be intended. When it can be avoided, then long first lines should be made shorter.
2020-12-02Declare keymaps using defvar explicitlyJonas Bernoulli
This makes it possible to re-evaluate the containing buffers without user customizations being clobbered.
2020-12-02Placate byte compiler (Brian Leung)jao
2020-12-02Support buffer-local binary and arglist configurationjao
2020-07-06Tag project functions instead of overriding docsAndrew Whatson
2020-07-06Fix byte-compiler warningAndrew Whatson
2020-07-06Improve project function selection, make ignore defaultAndrew Whatson
2020-07-06Refactor to make repl/impl proj argument optionalAndrew Whatson
2020-07-06Use a separate REPL instance per projectAndrew Whatson
2020-07-06Returning C-c k back to users, that key's theirs!Jose Antonio Ortega Ruiz
Should close issue #315, where it is pointed out that "sequences consisting of `C-c` and a letter (either upper or lower case) are reserved for users; they are the *only* sequences reserved for users, so do not block them."
2020-03-27Fix indentationJonas Bernoulli
2020-03-27Mark the beginning of code part of elisp libraries with Code: headingJonas Bernoulli
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.
2020-02-13Guile: use load paths defined in dir-local variables (fixes #268)Jose Antonio Ortega Ruiz
A similar idea should probably be used with other schemes, but right now i feel ashamed of having taken so long to fix this one (assuming it's fixed!), so let's rush this commit for a change.
2020-01-28Leftover (fixes #291)Jose Antonio Ortega Ruiz
Repeat with me: try M-x geiser-reload before pushing to gitlab
2020-01-28C-c \ and C-c [ in geiser-repl tooJose Antonio Ortega Ruiz
With a hat tip to Mikhail Kryshen, who was wondering in guile-user why oh why, and rightly so.
2019-11-26Rename multiline expression optionAaron Marks
* Renames geiser-repl-context-sensitive-send to geiser-repl-send-on-return-p. This option's value is now inverted. * Update documentation accordingly.
2019-09-03Fix latest chicken. Add debug level logging. Fixed typo.Lockywolf
2019-09-02Set header-line-format only in case when `cond` branch is trueAndrey Orst
2019-06-13Introduce context-aware REPL send optionAaron Marks
This option allows for easier editing of expressions on the REPL without accidentally sending the input to the inferior Scheme. When turned on, the REPL behaves similarly to the Chez REPL.
2019-05-15Alias for font-lock-ensure (should fix #274)Jose Antonio Ortega Ruiz
2019-02-08Fix: off-by-one while fontifying REPL's outputJose Antonio Ortega Ruiz
2018-11-28Change behaviour of REPL output and highlightingAaron Marks
* Narrow font-lock syntax highlighting to only the active REPL input region. * Mark REPL output read-only. This can be changed via the option `geiser-repl-read-only-output-p`. * Mark REPL output with a user-definable face as `geiser-font-lock-repl-output`. Alternatively an option to syntax highlight REPL output is provided via the option `geiser-repl-highlight-output-p`. This applies scheme-mode syntax highlighting to any REPL output. Any additional hooks defined via scheme-mode-hook are also executed for highlighting this region. * Remove some unwanted TABs in source files.
2018-06-26Not killing partial outputs when leaving the REPLJose Antonio Ortega Ruiz
Since this job is done in the process sentinel, the clean up is also triggered when the Scheme process exits unexpectedly, deleting any traces the dying guy might have left. I added a flag to control the behaviour, but upon reflection the old behaviour seems wrong and i've defaulted to the new one. This one should fix #251.
2017-09-25Do not set geiser last-prompt-end beyond of point-maxMario Rodas
2017-03-21Don't assign the (field t) property to old REPL inputsJames C. De Ricco
Previously, Geiser added a (field t) property to inputs before adding them to the REPL history so it can determine what characters in the buffer belong to old input and yank it when a user pressed enter (geiser-repl--maybe-send) on it. When users recalled an old input with "M-p" (comint-previous-matching-input-from-input), the old input with its (field t) property were inserted after the current prompt. Since old inputs were not "front-sticky," when point was just after the current prompt but before the characters of the old input, Emacs considered point to be outside of the (field t) field; this prevented users from using some movement commands such as forward-word to move point into the old input text. Furthermore, when users inserted text before the old input or yanked other old inputs afterwards, this new text did not have the field property and so Emacs restricted point movement to and from the old text with the (field t) field. This resolves the issue by not adding the (field t) property to old inputs and instead leverages comint's ability to assign the output field to all non-input (by setting comint-use-prompt-regexp to nil). It should resolve the issue reported in "[Geiser-users] Problem with prompt at history item" by Hamish Ivey-Law (https://lists.nongnu.org/archive/html/geiser-users/2014-12/msg00001.html).
2016-11-09It's file, not filename (should fix #190)Jose Antonio Ortega Ruiz
2016-09-21Expand socket file name for 'geiser-connect-local'Alex Kost