Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge for v0.9.0 #43

Merged
merged 45 commits into from
Jun 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
6e35d11
Refactor status bar into a class
stevenguh Jan 17, 2021
dc4ef48
Extract config keys and commands into object
stevenguh Jan 17, 2021
e805bc2
Refactor registering and its API
stevenguh Jan 17, 2021
a157d6f
Refactor the override and sort item to create a canonical bindings
stevenguh Jan 17, 2021
ed65428
Refactor functions to utils.ts
stevenguh Jan 18, 2021
915ad28
Move fn to specialize key to utils
stevenguh Jan 19, 2021
937be55
Implement command to show keybindings
stevenguh Jan 22, 2021
9280189
Move dependencies and its dispose into activate
stevenguh Jan 22, 2021
f18ed77
Add transient menu as a separate command
stevenguh Jan 22, 2021
a2d6b80
Add zen mode to transient menu
stevenguh Jan 22, 2021
e70e1df
Rename KeyListener to CommandRelay
stevenguh Jan 22, 2021
e18633b
Move condition logic into its own file
stevenguh Jan 23, 2021
d5df1a8
Restore overriding conditional with inexactly string
stevenguh Jan 23, 2021
f8ad771
Display message with key specialized in transient
stevenguh Jan 23, 2021
8cc0a57
Implement timeout override for status bar message
stevenguh Jan 25, 2021
265f152
Implement hiding of specific status bar msg
stevenguh Jan 25, 2021
9603618
Implement to full width key
stevenguh Jan 25, 2021
0a3d627
Reimplement whichkey for transient separation
stevenguh Jan 25, 2021
9f6b249
Implement repeat previous action commands
stevenguh Jan 26, 2021
21fcd72
Add CharCode const enum
stevenguh Jan 26, 2021
e238c1f
Move config logic into its folder
stevenguh Jan 27, 2021
aea0132
Move descbind menu creation logic
stevenguh Jan 27, 2021
a4148fa
Support more type on migration
stevenguh Jan 28, 2021
e9e804b
Eval condition menu item recursively
stevenguh Jan 29, 2021
a1e17da
Move getConfig to utils
stevenguh Jan 29, 2021
07a6b2f
Support config property in showing transient
stevenguh Jan 29, 2021
88ab556
Fix issue where whichKeyVisible is not being set
stevenguh Mar 23, 2021
091ec3d
Implement C-h to show bindings of current menu
stevenguh Mar 23, 2021
d89af6d
Upgrade all packages
stevenguh Mar 23, 2021
2c9a08d
Fix the erroneous error message on repeating
stevenguh May 12, 2021
7fa7fd3
Change how transient menu are configured
stevenguh May 12, 2021
ae7e878
Fix descBind show condition key
stevenguh May 13, 2021
ab0f8fc
Simplify old WhichKeyConfig handling
stevenguh May 24, 2021
26e922c
Add icons support for which-key menu
stevenguh May 24, 2021
09c2355
Remove command in the path on the repeater menu
stevenguh May 24, 2021
e7c2811
Update transient migration with command
stevenguh May 24, 2021
08e66ae
Fix the busy indicator not showing
stevenguh May 24, 2021
85a9b88
Rename `showBindings` to describeBindings`
stevenguh May 24, 2021
944bcf0
Change the repeater's command names
stevenguh May 25, 2021
9c17286
Remove `+` prefix from non-binding type in the default bindings
stevenguh May 25, 2021
ac8c01e
Move repeat recent from `>` to `<spc> r .`
stevenguh May 25, 2021
305455e
Restore the vscode type version for vsce to work
stevenguh May 31, 2021
824b78a
Add icon support to transientMenu
stevenguh Jun 16, 2021
e9d2998
Rename command describeBindings to searchBindings
stevenguh Jun 16, 2021
c516473
Update CHANGELOG
stevenguh Jun 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**@type {import('eslint').Linter.Config} */
// eslint-disable-next-line no-undef
module.exports = {
root: true,
env: {
"es6": true,
"node": true,
"mocha": true,
},
parser: '@typescript-eslint/parser',
plugins: [
'@typescript-eslint',
],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
],
rules: {
'semi': [2, "always"],
'@typescript-eslint/no-unused-vars': 0,
'@typescript-eslint/no-var-requires': 0,
'@typescript-eslint/no-explicit-any': 0,
'@typescript-eslint/explicit-module-boundary-types': 0,
'@typescript-eslint/no-non-null-assertion': 0,
}
};
19 changes: 0 additions & 19 deletions .eslintrc.json

This file was deleted.

2 changes: 1 addition & 1 deletion .vscodeignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ out/**
node_modules/**

.gitignore
.eslintrc.json
.eslintrc.js
tsconfig.json
tslint.json
webpack.config.js
105 changes: 77 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Added

- Add icons support for which-key menu ([#41](https://github.com/VSpaceCode/vscode-which-key/issues/41)).
- Only vscode [product icon](https://code.visualstudio.com/api/references/icons-in-labels) can be used.
- An extra property `icon` is used in the definition of which-key binding, which-key overrides, and transient binding.
An example which-key binding with the icon property is as follow.

```json
{
"key": " ",
"name": "Commands",
"icon": "rocket",
"type": "command",
"command": "workbench.action.showCommands"
}
```

- Implement the ability to search the bindings and execute a command (`whichkey.searchBindings`) where
it can be triggered with `<spc> ?` or `C-h` while the which-key is visible ([#12](https://github.com/VSpaceCode/vscode-which-key/issues/12)).
- Add zen mode command (`whichkey.toggleZenMode`) to transient menu.
- When the command is executed with a visible transient menu, all the menu items will be hidden/shown.
- The command can be bound to the transient menu binding item or as a shortcut in your `keybindings.json` as follows.

```json
{
"key": "ctrl+z",
"command": "whichkey.toggleZenMode",
"when": "transientVisible"
}
```

- No default shortcut is bound at the moment.
- This is implemented to show more content of the buffer instead being block by the QuickPick menu.
- Add repeater to record and repeat previously executed command ([#27](https://github.com/VSpaceCode/vscode-which-key/issues/27)).
- Command `whichkey.repeatRecent` will show a which key menu to select all previous command executed in whichkey and bound to `<spc> r .` by default.
- Command `whichkey.repeatMostRecent` will execute the recently command executed in whichkey.

### Changed

- Reimplemented transient menu as a separate command (`whichkey.showTransient`).
- Existing transient defined as part of which-key menu with type `transient` is **deprecated** and will continue to work.
- Remove redundant transient definition which allows sharing ([#13](https://github.com/VSpaceCode/vscode-which-key/issues/13)) by letting transient menu config/bindings to be defined in config. For example, calling `whichkey.showTransient` with `whichkey.transient.lineMoving` will mean that the transient config lives in `whichkey.transient.lineMoving`.
- Add `exit` property in the binding definition to indicate that certain key in will exit on selection.
- Add `transientVisible` context when transient is visible, and `whichkeyVisible` context will no longer be `true` when transient menu is visible.

### Removed

- Remove `+` prefix from non-binding type in the default bindings.

## [0.8.6] - 2021-06-11

### Fixed
Expand All @@ -17,128 +66,128 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Fix the name of `<spc> g s` binding
- Fix vscode 1.57 insider QuickPick API change issue (#34)
- Fix the name of `<spc> g s` binding.
- Fix vscode 1.57 insider QuickPick API change issue (#34).

## [0.8.4] - 2020-12-14

### Fixed

- Fix the issue `<spc> f f` doesn't work on non-Mac environment
- Fix the issue `<spc> f f` doesn't work on non-Mac environment.

## [0.8.3] - 2020-12-11

### Changed

- Indicate submenus with `+` instead of `...`
- Indicate submenus with `+` instead of `...`.

## [0.8.2] - 2020-10-06

### Fixed

- Fix the issue where `<tab>` key can not be use in the editor because the context `whichkeyVisible` is stuck in true if triggerKey command with an invalid key was called before the menu is displayed
- Fix the issue where `<tab>` key can not be use in the editor because the context `whichkeyVisible` is stuck in true if triggerKey command with an invalid key was called before the menu is displayed.
- Fix the issue where key failed to append if the input was selected during the delay. The case was prominent when triggerKey was called before the menu is displayed (The key entered by triggerKey will be selected by the time the menu is displayed).
- Fix the issue where the key is selected if `triggerKey` is called subsequent to `show` command with vim binding by having `show` command to wait until the QuickPick's show is called.

## [0.8.1] - 2020-09-02

### Fixed

- Fix the issue where multiple status bar messages are displayed
- Fix the issue where multiple status bar messages are displayed.

## [0.8.0] - 2020-09-02

### Added

- Add color on the status bar message when key binding entered is not defined
- Add color on the status bar message when key binding entered is not defined.
- Add support for a new conditional type binding, which allows conditional binding execution. See README for more information on how to use it.

## [0.7.6] - 2020-08-03

### Added

- Add an option to sort non-number first for keys of the menu items
- Add an option to sort non-number first for keys of the menu items.

### Changed

- Change `<spc> b Y` to deselect after copying
- Change `<spc> b Y` to deselect after copying.

## [0.7.5] - 2020-08-01

### Added

- Add a configuration (`whichkey.sortOrder`) to sort menu items
- Add a configuration (`whichkey.sortOrder`) to sort menu items.

## [0.7.4] - 2020-07-27

### Changed

- Change the command `whichkey.show` to be non-blocking
- Change the command `whichkey.show` to be non-blocking.

### Fixed

- Fix a bug where only the first occurrence of ␣ and ↹ will be replaced
- Fix a bug where only the first occurrence of ␣ and ↹ will be replaced.

## [0.7.3] - 2020-07-23

### Added

- Add `<spc> s r` to search reference
- Add `<spc> s R` to search reference in side bar
- Add `<spc> s J` to jump symbol in the workspace
- Add `<spc> s r` to search reference.
- Add `<spc> s R` to search reference in side bar.
- Add `<spc> s J` to jump symbol in the workspace.

### Changed

- Change `<spc> s j` to jump to symbol in file
- Change `<spc> s j` to jump to symbol in file.

## [0.7.2] - 2020-07-20

### Fixed

- Fix typo and grammar in default binding names
- Fix typo and grammar in default binding names.

## [0.7.1] - 2020-07-19

### Security

- Update lodash for GHSA-p6mc-m468-83gw
- Update lodash for GHSA-p6mc-m468-83gw.

## [0.7.0] - 2020-07-09

### Added

- Add `<spc> b H/J/K/L` for directional editor moving
- Support running this extension locally with VSCode Remote
- Add `<spc> b H/J/K/L` for directional editor moving.
- Support running this extension locally with VSCode Remote.

## [0.6.0] - 2020-07-09

### Added

- Implement an a way to use non-character key like `<tab>` and `<ctrl>` in which-key menu
- Implement a way to delay menu display with a configurable timeout in settings
- Add better error message when executing binding with incorrect properties
- Add `<spc> <tab>` to switch to last editor
- Implement an a way to use non-character key like `<tab>` and `<ctrl>` in which-key menu.
- Implement a way to delay menu display with a configurable timeout in settings.
- Add better error message when executing binding with incorrect properties.
- Add `<spc> <tab>` to switch to last editor.

## [0.5.3] - 2020-07-02

### Fixed

- Fix an issue where the which key menu will not reopen once the transient menu is closed
- Fix an issue where the which key menu will not reopen once the transient menu is closed.

## [0.5.2] - 2020-06-30

### Fixed

- Fix the issue where menu is empty when called from vscode vim
- Fix the issue where menu is empty when called from vscode vim.

## [0.5.1] - 2020-06-28

### Added

- Use webpack to reduce extension size
- Use webpack to reduce extension size.

## [0.5.0] - 2020-06-23

### Added

- Split which-key menu function from VSpaceCode of`v0.4.0`
- Split which-key menu function from VSpaceCode of `v0.4.0`.
Loading