All notable changes to the "metago" extension will be documented in this file.
- close issues.
- support real viewport range, not use config
- jumper support fold region
- Color settings support referencing Theme Color Id
- sequential-target-chars support: type a sequence of target-chars, and dynamically change decoration codes while typing, at any time type the decoration codes to navigate. This means we provide two sets of codes one set is the target chars sequence and another set is the dynamically generated decorators. you could type the chars sequence as long as you want to narrow down the searched possible locations, and then type the decoration codes to got the the exact location.
- add following char decorator in sequential-target.
- jump commands could be triggered event editor not focused, has any open editor
- left border on jump code decorator support
- fix enter key at end of sequential-target jump
- backspace as command to delete last input char: could done by registered as textEditor command
- bookmark: one bookmark in one line, toggle-bookmark command works when cursor not at char location. char location is still used when goto the bookmark.
- target chars is only used for narrow down searching range, not for navigation. solve the problem of typing multi target chars together may edit document by mistake
- ripple search support, type location-chars to trigger far from center: one char nearby; two char current doc; three chars all opened editors
- bug: metaJump: '/' key could not be used as following sequence key, if already used as decorator hide key. fix it by disable sequential-target-chars if it used as the target char.
- Line selection up/down command: ? editorHasSelection
make Ctrl+L into a line command trigger: if the user press i(means up, configurable), triggers the selecting up subCommand, in this subCommand the user can press i again or press k (mean down) several times. Ctrl+L, k is select down subCommand trigger. any other key other than i,k would escape this commandCtrl+o to extendLineSelection up when has selection - metaJump: contributed command: metaGo.Cancel doesn't exist.
- exclude
from start tag regex - metaJump:
alt+d alt+backspace alt+delete
to delete to. - metaJump: backspace to cancel last input decoration code.
- extract metaJump as separate vscode extension
- add useful my command config into package.json. i.e. Ctrl+Alt+back to delete small word left
- bracketJump: level navigate. context conditional variable when cursor at bracket. ctrl+shift+P[ or ] to go to previous/ next level.
- ctrl+i i ': select in '; ctrl+i a ': select ' and content;
- pair-selection: support mutiline start-pair
- space-word: cursor move, delete, select
- alt+g *: cursor to char forward, alt+f *: cursor to char backward.
- bookmark: use treeView and implement tag mark.
- metaSelection: active selection's cursor should be special to identify, when there are multiple selections or multiple cursors
- extend selecttobracket alt+shift+\ command to do further extension
- inSurroundingPairSelection: pairs configuration
- inSurroundingPairSelection: tag selection support
- metaJump: alt+/ then ctrl+alt+/ could cancel and press ctrl+alt+/ to trigger.
- Create command for move to previous/next member
-[ ] alt+shift+right to duplication selection to right
- Planning for new major release.
- upgrade typescript(4.3.5), webpack(5.50.0), and other packages to latest version
- support Plan section in change log
- Add the MIT license file
- Adjust readme
- Output panel has decorators shown there, should remove them.- issue 52
- fix inSurroundingPairSelectionWithPairs command problem
- extract metaPair as separate vscode extension
- extract metaMark as separate vscode extension
- code indent as code tree, use ctrl+cmd+arrow to navigate
- landing-page as a common module that could be used by sub extension.
- use logo v4
- metaJump as a separated extension
- close issue [#42]
- from V4 I would start to separate metaGo into several small extensions, and make metaGo also as an ExtensionPack.
- metaWord as separated extension.
- metaWord: add commands to moveCursor/select/delete one space-word left/right. (Detail) (with this and vscode's cursorWordPartStartLeft, cursorWordStartLeft..., we could do bigWord, smallWord and partialWord navigation/selection/deletion, I would include my hotkey config for vscode's default word commands, and separate it into a signal vscode extension in next version)
- metaSurroundingPair: add command to change surrounding pairs. (Detail)
- metaSurroundingPair: rewrite surroundPairsSelection to support multiline tags, i.e the html-start-tag is multiline sometimes, html staring tag regex is revised. (this consumes most of my time for this release🤣)
- metaJump: default foreground/background colors for one-char and two-char decorator changed to be more easier to differentiate if overlapped. (Have a try you would know😉)
- metaSurroundingPair: default hotkey is changed. (Detail)
- improve go-to-bracket command (Detail)
- lineSelection: select line down if more than one screen lines selected, could not show active line(below the screen bottom), always show selection start. (works perfect, one line not selected shown at the top or bottom to give user a sense of selection range)
- metaSelection: surrounding-pair-selection command use cancel timeout in config.
- metaSelection: surrounding-pair-selection command's pairs could be configurable. (Detail)
- metaSelection: surrounding-pair-selection command's pairs support regex, html tag selection is supported.(Detail)
- metaJump: Remove find in selection and it's config. (never use)
- metaJump: Command indicator is not removed sometimes.
- metaJump: commands to add additional cursor via screen decorators.(metaGo.insertCursorBefore, metaGo.insertCursorAfter, metaGo.insertCursorSmart) (Detail)
- metaJump: selection support multi cursor, could add more selection parts to current selections.
- metaJump: the addCursor command could be used to change active selection when there are multiple selections.(Detail)
- metaJump: show typed target chars in status bar. (Detail)
- metaJump: different command indication colors for jump, selection and addCursor command.
- metaJump: could config foreground decorator color for both one-char and two-char decorator.
- metaSelection: command to alternate selection's active with anchor. (Detail)
- lineSelection: multi cursors support, extend/shrink lines for last active cursor. (Detail)
- inSurroundingPairSelection: command to select inside a pair of separators: '(',')'; '[',']'; '{','}';'<','>'; '>', '<'; or any char pair: '''; '"'...(Detail)
- lineSelection: Ctrl+l to select current line or extend/shrink selection by one line below. Ctrl+o to extend/shrink selection by one line above. (Detail)
- metaJump: when have multiple cursors, add cursor does decorators encoding from last cursor position. originally always start from the first cursor position
- metaJump: command indicator is shown at last cursor position when has multi cursor. i.e. when triggering 'add cursor' command.
- metaJump: multi 'enter' as target chars, would generate new line in status bar message.
- metaJump: undefined property ref exception, when cursor below the last location target candidate;
- selectLines: could select to first and last line of the document.
- metaJump: ripple support, type location-chars to trigger far from center: one char current section(separated by empty lines); two chars current doc; three chars all opened editors; for one and two target chars, one char decorators will pass through boundaries if possible(i.e. for one target char, no two chars decorators are needed for all candidates in the current section)
- metaJump: target chars is only used for narrow down searching range, not for navigation. solve the problem of typing multi target chars together may edit document by mistake
- metaGo: what's new page to show when major and minor upgrade
- dev: webpack support bundle third party packages
- dev: add local package generation, uninstall then install npm command
- readme: make user manual better. (Detail)
- bookmark: one bookmark in one line, toggle-bookmark command works when cursor not at char location. char location is still used when goto the bookmark.
- line selection: metaGo.selectLineUp default shortcut changed from ctrl+shift+l to ctrl+i, to avoid collision with default command of ctrl+shift+l.
- bookmark: type in popup box, would jump automatically, may edit when type fast. should only do filter!
- bookmark: trigger bookmark.view command event there is no opened editor or no editor has focus.
- metaJump: fix cancel exception: after trigger jump, then press Esc would throw exception.
- metaJump: '/' key could not be used as following sequence key, if already used as decorator hide key. fix it by disable sequential-target-chars if it used as the target char.
- text decorator support background color transparent: opacity
- decoration background opacity as border opacity
- adjust default decorator width to 8, otherwise it hide character, i.e. n looks like r
- fix following char is upper case, the lower case is used in decorator problem
- in sequential-target-chars jump, background color of the char follows target char
- new gif logo
- jump commands could be triggered event editor not focused, and has any open editor. i.e when in "Explorer" treeView.
- left border on jump code decorator, easier for discriminating concatenated/overlapped decorators
- 'Backspace' as command to delete last input char, it's a step cancel command, 'Esc' is a whole cancel command.
- update metago.jump gif in readme.md
- the target location chars case sensitive method is changed from 'if has upper case' to 'the last char is upper case"
- background color of matched target chars
- fix enter key at end of sequential-target jump
- feat: sequential-target-chars support: type a sequence of target-chars, and dynamically change decoration codes while typing, at any time type the decoration codes to navigate. This means we provide two sets of codes one set is the target chars sequence and another set is the dynamically generated decorators. you could type the chars sequence as long as you want to narrow down the searched possible locations, and then type the decoration codes to got the the exact location.
- feat: add encode feature that support additional letters that only appears in signal char length code.
- feat: Color settings support referencing Theme Color Id, note: when use svg we not support them color
- removed config: metaGo.decoration.upperCase: use as it is.
- add config: metaGo.decoration.additionalSingleCharCodeCharacters: only appears as one char decoration codes
- support real viewport range, not use config
- easy to trigger metago command: type 'F1, xx...'. 'xx' as a prefix for search metagoCommands
- jumper support fold region
- remove editor viewport range lines in config, use new api to get editor viewport range
- remove function to get anchor from selection, use new vscode api of Selection
- remove 'jumper.targetIgnoreCase' in config, replace it with: if the location char is Upper case it is case sensitive, otherwise it's case insensitive.
- upgrade vscode engine to the latest one, released in Sep 2019, need 1.22.0 at least to support editor.visibleRanges
- rename commands name with verb-none pattern, easy to search in command list: F1, xsd -> select line down
- Jumper: svg decorator could not be shown
- Jumper: if the the line of location char is less than codes length, decorator codes hide partially
- Jumper: support show decorators for '\n' of empty line, we could jump to every line end.
- jumper could goto any opened editors not just the active editor.
- metaGo.gotoAfterActive, metaGo.gotoBeforeActive, metaGo.gotoSmartActive commands only for active editor.
- support Enter, Space as target chars.
after the trigger(Alt+. or Alt+, or Alt+/)press Enter to directly go to the one before the current cursor position
after the trigger, press Space to directly go to the one after the current cursor position;
- replace Promise with async/await in MetaJump
- updated readme
- metaJump decoration support any code length
- add/change commands: metaGo.gotoBefore, metaGo.gotoAfter, metaGo.gotoSmart; metaGo.selectBefore, metaGo.selectAfter, metaGo.selectSmart;
- add feature of holding /(could be modified in config) to hide decorators and release it to show again.
- removed delete related command, and no future implementation scheduled, because of unrelated to cursor jumping
- modified default key bindings (compatible with metaTool)and adjusted command names- ATTENTION: not backward compatible
- upgrade dev dependent libs to latest version
- updated readme