All notable changes to the "emacs-mcx" extension will be documented in this file.
- Fix yank to set the mark at the beginning of the inserted text.
- Fix i-search to add the original value of point to the mark ring when exiting.
- Fix beginning-of-buffer and end-of-buffer to set the mark.
emacs-mcx.cursorMoveOnFindWidget
option.
C-@
for mark andC-_
for undo.
- Change the maintainer's username.
useMetaPrefixCtrlLeftBracket
option to usectrl+[
as a meta key.
- Internal package updates.
- Release steps are automated by GitHub actions
- Keybindings are ignored on the find widget during IME composition.
C-m
to pick the selected item in the quick open widget.
- Internal implementation has been fixed to dispose resources such as registered event listeners.
yank
andyankPop
are fixed to work in the same way as VSCode'spaste
command, in the case of multi-cursors in a single line.
yank
andyankPop
are fixed to work with auto formatting on paste.
C-p
andC-n
on the quick open widget are fixed to only select items but not navigate.- Kill commands are fixed to reveal the cursor after execution.
- Bug fix to invoke features such as auto-completion reacting to character inputs.
C-u
(universal-argument) is reimplemented not to use VSCode API'stype
command by default.
M-\
is assigned to IntelliSense suggestion. @vaelen
- Allow navigation within query replace prompt. @ANorwell
- Internal package updates.
M-m
(back-to-indentation
)C-M-k
(kill-sexp
)
- Use VS Code clipboard API instead of clipboardy.
- Add "workspace" to "extensionKind" manifest to work in remote.
- Fix not to close the find widget by Enter key if replace input is focussed.
- Internal package updates.
- Internal fix and updating dependencies.
- Fix
killWord
andbackwardKillWord
to respecteditor.wordSeparators
config.
emacs-mcx.disableOverridingTypeCommand
option to disable overridingtype
command.
- Keybindings starting with
C-x
are still disabled in the terminals, but enabled in other focuses such as sidebar. C-p
andC-n
are fixed to work as cursor movement when intelli-sense is visible the number of whose items is just one.
- Keybindings starting with
C-x
are disabled in integrated terminals. @youyuanwu
- Implement the Mark Ring and its related commands:
set-mark-command
is updated to push mark positions to the Mark Ring.exchange-point-and-mark
is added.
- Assign
Enter
key to close the find widget, which is like the original Emacs' behavior. killWholeLine
config option.
- Fix
kill
andkill-whole-line
to work based on active cursors, not anchors. - Async commands behavior including kill, yank, and type.
- Fix
M-w
behavior when the find widget is visible. @youyuanwu
- Internal package updates.
- Fix
forwardSexp
andbackwardSexp
to reveal the primary active cursor. - Internal fix of Configuration and Message implementations.
C-x b
is mapped toworkbench.action.showAllEditorsByRecentlyUsed
command, whose behavior is closer to the original Emacs'. @joeshaw
- Internal fix to call clipboardy asynchronously.
- Internal fix to omit unnecessary files from the bundle.
- Fix a bug at bundling to make clipboardy work on Linux.
- Fix internally keybinding definitions to be generated by a script.
- Fix
useMetaPrefixMacCmd
option to enable only the Command key to work as a meta key and disable the Alt key.
- Fix a bug at bundling to make clipboardy work on Windows.
- Introduce Webpack to bundle the source code to improve performance and reduce package size.
useMetaPrefixMacCmd
option to use Command (⌘) key as a meta key. @flindeberg
useMetaPrefixEscape
option to use ESC key as a meta key. @yunkya2
- Fix
C-b
andC-Enter
behavior with the find/replace widget. @yunkya2
- Fix
C-s
(isearch-forward) andC-r
(isearch-backward) to start searching immediately after the find widget appears. @joeshaw
- Add
M-{
(backward-paragraph) andM-}
(forward-paragraph). @icub3d
- Add
M-c
(capitalize-word). @yunkya2
- Internal changes including code formatting.
- Internal package updates.
- Add
M-^
(delete-indentation). @aki77
- Update vulnerable dependencies for security.
- Strictly emacs-like behaviors of
C-a
,C-v
andM-v
. @joeshaw - Config to switch between strictly emacs-line behaviors and VSCode's native ones.
- Correct behavior of
C-v
andM-v
with a prefix argument. @GuyShane - Document
C-j
conflict and provide replacementC-x j
. @jedbrown
- Set extensionKind to support Remote Development. @limon
- Logging system is introduced to some code especially around prefix argument functionality.
- Logging levels are configurable (
emacs-mcx.debug.*
).
- The maximum number of kill ring entries is now configurable (
emacs-mcx.killRingMax
).
- A bug at yank of empty string is fixed.
kill-word
andbackward-kill-word
are now supported and assigned toM-d
andM-DEL
respectively.kill-word
andbackward-kill-word
now support prefix argument.
C-M-p
(emacs-mcx.addSelectionToPreviousFindMatch
) is supported.- Command implementations are drastically changed to be class-based.
- Fix
emacs-mcx.paredit.forwardDownSexp
andemacs-mcx.paredit.backwardUpSexp
to ignore semicolon in non-lisp languages correctly.
- Update
emacs-mcx.paredit.forwardDownSexp
andemacs-mcx.paredit.backwardUpSexp
to treat a semicolon as one entity, but not comment.
- Internal implementation of
C-l
(recenter-top-bottom) is updated. - A message representing the prefix argument is shown.
C-m
is fixed to behave more like ENTER.C-m
is fixed to work with prefix argument.emacs-mcx.paredit.forwardDownSexp
andemacs-mcx.paredit.backwardUpSexp
are implemented (not assigned to keys).
forward-sexp
andbackward-sexp
are updated to support prefix argument.
- Many commands hide the find widget like the original behavior of emacs' i-search. by @ganaware
forward-sexp
andbackward-sexp
are fixed to reveal the cursor. by @ganaware
C-h
(delete-backward-char) andC-d
(delete-forward-char) now support prefix argument.
C-k
(kill-line) now supports prefix argument.
- Behaviors of
C-f
(forward-char) andC-b
(backward-char) are modified to move cursors over multiple lines when prefix argument specified.
- Run CI on Windows
- Sexp navigations with mark-mode compatibility
- A dependency to an external extension
haruhi-s.sexp
is eliminated.
- A dependency to an external extension
C-u
(universal-argument) is implemented.- Prefix argument is supported with single character inputs and movement commands.
- A
when
clause contextemacs-mcx.inMarkMode
is supported.
C-x C-o
(delete-blank-lines)
emacs-mcx.transformTo(Upper|Lower)case
are implemented and assigned toM-u
,C-x C-u
andM-l
,C-x C-l
respectively. However, the current implementation has a drawback in the case there are multiple cursors and empty and non-empty selections are mixed.
- status bar messages disappear when other operations are invoked (or 10 seconds after they appear).
- Fix
ESC
not to override existent necessary keybindings - Fix yank-pop to show a status bar message if invoked not after yank
C-l
(recenter-top-bottom) (#40)- To support
M-l
(downcase-word) andM-u
(upcase-word) (#23)
C-g
(ESC
) cancels continuous kill (#42)
- New kill-ring and yank implementation to append continuous invokation of
C-k
(kill-line) (#26). - Add sexp functionalities by importing
haruhi-s.sexp
(#27).
- New keybinding
ESC
for cancel (quit
) (#30). - New keybinding
M-g M-g
forgoto-line
(#24). - New keybinding
M-g M-n
andM-g M-p
fornext-error
andprevious-error
respectively (#25). - New keybinding
C-o
foropen-line
(#28). - Improve mark-mode behavior with
C-M-n
(#29).