- Avoid error if the Tmap is called without any map set
- Add
g:neoterm_callbacks.after_repl_exec
support. Custom callback to be executed after repl command executed. Could fix issue #146. - Add
g:neoterm_repl_same_shell
support. Will try to run repl in term instance with same shell command once enabled. #344
- Add
g:neoterm_callbacks.before_create_window
support. Custom callback to be executed just before a window is created. Useful to dynamically set neoterm's window properties, like size.
- Add
:Tredo
to repeat the last command passed toneoterm#do
- Add
g:neoterm_callbacks.before_exec
support. Custom callback to be executed at the top of theneoterm#exec()
.
- Add support for
Janet
.
- Add support for
Stata
.
- Fix neoterm loading on session load.
- Change the next id calculation to use the minimum available value. (#309)
- Add
g:neoterm_callbacks.before_new
support. Custom callback to be executed at the top of theneoterm#new()
. Useful to customizeg:neoterm_
vars before each neoterm starts.
- Better exception handling when toggling neoterm and it's the last open window.
- Add
jupyter console
as a valid python REPL.
- Fix defaults loading. Defaults must be calculated when used, not before.
This fix buffer overwriting, due to early
origin
calculation.
- Add clear default values for neoterm.
- Dynamically set neoterm window size with
:Topen resize=N
and:Ttoggle resize=N
. (#289) - Add a CHANGELOG enforcer action.
- Fixes creation of extra buffer. (#294)
- Add option
g:neoterm_bracketed_paste
to allow sending text to terminal in bracketed paste mode. (#295)
- Add a
shell
option onneoterm#new
to be able to handleg:neoterm_direct_open_repl
within the repl namespace. (#280)
- refactor
:Tmap
. Use theg:neoterm_automap_keys
to callneoterm#map_do
, which will use the newg:neoterm.map_options
to runneoterm#do
g:neoterm_repl_commands
supports lists- neoterm#repl#exec supports filetype specific execution
- Fix problems sending code blocks with blank lines to ipython or python repl (#273)
- Paste Magic to send a code block to ipthon cells (#270)
- Added a python specfic repl file
- Update how last active is updated. Also document when it's updated.
- Add an error message when trying to close neoterm, and it's the last opened
window, with
:Tclose
.
- Add support to neoterm ID in the
:Tmap
. (#276) - Allow to set
g:neoterm_marker
to empty. (#277) - Add a contributing guide
- Add
:Tls
to list neoterm instances - Change the ID calculation. To avoid big ID numbers, the ID is reseted to 1 when there is no instance of a neoterm windows open.
- [neovim only] Add neoterm id on the buffer name. (#272)
- Fix
:Tclose
and:TcloseAll
. When the default behavior changed to not replace the current buffer these commands stop working. To fix, besides saving the window of orignin, not the buffer of origin is also being saved, when closing a neoterm buffer if there's no window to return, neoterm will return to the origin buffer. (#271)
- Fix
:Tclear!
, the minimum value forscrollback
is1
, not0
. (#267) - Add option
g:neoterm_repl_r
to set the REPL for the R files. (#264)
- Improve the documentation.
- Change default behavior to not delete the current buffer, instead creates a new buffer for the neoterm. By default, it'll still use the current window, but no the current buffer.
- Add
g:neoterm_clear_cmd
to configure how to clear the terminal.
- Extract changelog to CHANGELOG.md.
- Revamp README and documentation.
- Add support for
jshell
(Java REPL).
- Add support for
evcxr
(Rust REPL).
- Fix bug with
g:neoterm_fixedsize
. (#255)
- Remove
TermClose
neoterm destroy action. This is already called viaon_exit
callback. (#252) - Fix neoterm on vim. Vim doesn't accept marked shell. (#251)
- Fix exception when trying to send a command to an inexistent neoterm buffer. (#254)
- Use a proper terminal marker for each OS. Unix-like uses
;#neoterm
and windows uses&::neoterm
. (Same strategy used on FZF) (#246)
- Destroy managed neoterm buffer loaded from session
- Refactor the neoterm target function, the function the retrieves the desired neoterm to act on, to its own autoload function set (neoterm#target#).
- Only manage neoterm terminals with
TermOpen
. (#243)
- Only use
TermOpen
when it' available. (#243)
- Enable neoterm to manage any terminal buffer. The TermOpen event is being used to associate neovim terminal with neoterm.
- Remove deprecated
g:neoterm_open_in_all_tabs
and fixg:neoterm_term_per_tab
(#237). - Better message when trying to execute a command on an already closed neoterm. Instead of show the error stacktrace just shows the message: "neoterm-X not found (probably already closed)" (#242)
- Fix bug with window resizing for non-default mods (#239).
g:neoterm_keep_term_open
keeps hidden terminals open even if they are closed without using:Tclose
- Make the
signcolumn=auto
in neoterm buffer.
- Improve
g:neoterm_open_in_all_tabs
documentation.
- Add
g:neoterm_term_per_tab
, a way to send the commands to the term associated to the vim tab. - fix
:Topen
withoutg:neoterm_default_mod
wasn't re-opening neoterm buffer.
- add
:Tclear!
, this will clear the neoterm buffer scrollback (history)
- Use
chansend
instead ofjobsend
, which was deprecated.
- Fix
E119: Not enough arguments for function: <SNR>112_repl_result_handler
- Yet another work with '%' expandability.
- '%' will be expanded to the current file path, respect g:neoterm_use_relative_path;
- '%' will be expanded to '%', not the current file path, useful in Windows.
\%
Will not expand the%
. (Escaping the%
)
- DEPRECATE g:neoterm_split_on_tnew -
:Tnew
now accepts vim mods (:help mods
). - Introduce
g:neoterm_tnew_mod
to set a default:Tnew
mod (:help mods
). - Revamp
:Topen
. Now:[mods][N]Topen
accepts vim mods (:h mods
) and a target, so if one wants to open the neoterm with id 2 in vertical, one can do:vert 2Topen
. - Revamp
:Tclose
. Now:[N]Tclose[!]
accepts a target, so one can close any neoterm by its id. - Fix a bug with
:[N]Ttoggle
and also make it accepts the neoterm id.
- Revamp
:[N]Ttoggle
, now it accepts vim mods (:help mods
) when the toggle is opening the neoterm. - Revamp
:[N]T
, now it accepts the target, so one can send the command for any neoterm by id, like, to send commands to the neoterm 3, one can do:3T ls
. - DEPRECATE T[N], Topen[N], Tclose[N], Tclear[N], Tkill[N] - The neoterm
id was moved to the beginning of the command, so instead of
:T2
, for example, one must use:2T
.
- Do not call
:bdelete!
if buffer does not existterm#destroy
was callingneoterm#close
which was causing a cyclic call to:bdelete! <neoterm.buffer_id>
.
- Add vim's terminal support! 🎉🎉🎉
- Fix bug where
:[N]T
wasn't accepting quoted arguments, like::T echo "ls"
. - Make handlers/callbacks work in vim. Destroy instance when destroying a terminal.
- Deprecate
g:neoterm_tnew_mod
andg:neoterm_position
in favor ofg:neoterm_default_mod
, which will be used for every new neoterm window. - Add the feature of the last active neoterm. When sending a command or navigating among neoterms the last one will be marked as the last active and it'll be used by default in the next commands.