All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
repl-history
extension: support Eat terminals (#154).
ob-julia
extension: new configuration option:julia-snail/ob-julia-resource-directory
(#146).- Update the REPL's
ans
variable after evaluating something through Snail.
- Standardized on using
locate-library
to locate Snail's installation (#147).
- Make
julia-snail-repl-completion-at-point
try to work even when not connected to Snail (#142). - Fix returning
missing
values (#143).
- Invoke the
julia
binary using the-i
(interactive mode) flag to clarify that the Snail process is, indeed, interactive (see OhMyREPL.jl #337 and #140).
- Looking up completions now works even if there is a running computational task in the REPL (#123).
- Byte-compiler warning in Emacs 29 (#129).
- Support for Eat as an alternative to vterm.
julia-snail-interrupt-task
: a new interface function which allows interrupting a running computational task in the Julia REPL (#104).
- Removed
vterm
from list of automatic dependencies. Since installing it never worked automatically anyway, this should not be a breaking change.
- Incompatibility if
package.el
is not loaded (#122).
- A client socket tracking bug introduced in 1.2.1 (#121).
- Support for using Tramp methods
scp
andscpx
in addition to the existingssh
method for remote REPLs (#120).
- A problem where certain Julia forms were not correctly evaluated as top-level.
- Bug with direct-to-REPL evaluation with
julia-snail-repl-display-eval-results
turned off. - Scrolling display bug with multimedia images (plots) with
julia-snail-multimedia-buffer-style
set to:multi
(#112). - A problem where
julia-snail-popup-display-eval-results
set to:change
caused a serious slowdown (#110).
- New configuration setting:
julia-snail-repl-display-eval-results
. When set tot
(defaults tonil
), it prints the result of evaluating some code from Emacs to the REPL. - New extension:
ob-julia
, which adds Julia support to Org Babel. - Results of running code from source buffers are now shown inline using overlays. See
julia-snail-popup-display-eval-results
for details. - Improved support for Imenu integration. See documentation for
julia-snail-imenu-style
. - Menu bar entries for main Snail mode and Snail REPL mode.
- Breaking change:
julia-snail-send-line
no longer just copies the line at point to the REPL ignoring module context. It evaluates the line in the module context instead. This makes it consistent withjulia-snail-send-region
andjulia-snail-send-top-level-form
. The old behavior is still available with two prefix arguments (i.e.:C-u C-u M-x julia-snail-send-line
orC-u C-u C-c C-l
). julia-snail-send-region
now supports using two prefix arguments to copy the region to the REPL and evaluate it, ignoring module context (i.e.:C-u C-u M-x julia-snail-send-region
orC-u C-u C-c C-r
).
- Breaking change:
julia-snail-company-doc-enable
setting renamed tojulia-snail-completions-doc-enable
. It now supportscorfu-doc
in addition tocompany-quickhelp
.
- When a Julia-side dependency of Snail (like CSTParser) has already been installed in the Julia global environment, it can cause conflicts (see #62). Work around this problem by forcing the Snail Julia project to be first in
LOAD_PATH
order, but only during initial Snail load. - Local REPLs should start with the same working directory as the starting file (#69).
- A bug that kept the spinner running in a source buffer when a multimedia image about to be displayed (#73).
- Support for running Julia instances in Docker containers using Tramp.
- Support for evaluating code in notebook-style code-cells (https://github.com/astoff/code-cells.el).
- Support for Snail extensions. See README and EXTENSIONS files for details.
- New extension:
repl-history
, which allows searching and yanking REPL history in source buffers. - New extension:
formatter
, a wrapper for JuliaFormatter.jl.
- The modeline lighter now shows a 🐌 emoji instead of the string
"Snail"
(unlessjulia-snail-use-emoji-mode-lighter
isnil
or overriden elsewhere). Excellent idea from the discussion in #70.
- Some versions of
emacs-libvterm
notice thatdefault-directory
of a buffer points to a remote host and hijack thessh
invocation. Prevent this from conflicting with Snail's own use ofssh
.
No functionality changes. Only documentation updates.
- Fixed a potential bug if there is a different default username configured for the ssh remote host in
.ssh/config
from the one used in the Tramp connection string (i.e., if.ssh/config
saysmyhost
should use default usernamemyname1
but the Tramp connection string is/ssh:myname2@myhost:
).
- Fixed a bug (regression) which caused `julia-snail-send-region' to only work on regions containing a single expression.
- Support for remote REPLs through SSH and Tramp.
- Support for the Julia multimedia interface (i.e. plots) in graphical Emacs builds.
- Source location for separately evaluated top-level forms or regions now points to the original source, instead of temporary files (#28).
- Improved compatibility with Revise.
First reasonably stable release.
First public release.