add updated build pipeline template

This commit is contained in:
garlandcrow 2022-11-09 13:54:20 +09:00
parent 352193fc4e
commit 14b5c79d36
13 changed files with 14220 additions and 3982 deletions

3
.eslintrc Normal file
View File

@ -0,0 +1,3 @@
{
"extends": "@antfu"
}

2
.npmrc Normal file
View File

@ -0,0 +1,2 @@
ignore-workspace-root-check=true
node-linker=hoisted

8
.prettierrc Normal file
View File

@ -0,0 +1,8 @@
{
"printWidth": 100,
"semi": false,
"singleQuote": true,
"trailingComma": "es5",
"arrowParens": "always",
"pluginSearchDirs": ["."]
}

View File

@ -9,7 +9,7 @@ Once you enter Insert mode it will be a completely vanilla VSCode experience: th
Operators act on a range of text. In Normal mode the range is specified by the OperatorRange typed after the operator. In Visual mode it is the visual selection.
| Keys | Description |
|-|-|
| ---- | ----------------------------------- |
| `d` | Delete range. |
| `c` | Delete range and enter insert mode. |
| `y` | Yank range. |
@ -22,7 +22,7 @@ Operators act on a range of text. In Normal mode the range is specified by the O
OperatorRanges select a range for an Operator to act on. They must be used in Normal mode by typing an Operator and then an OperatorRange.
| Keys | Description |
|-|-|
| --------------- | -------------------------------------------------------------------------------------------------------------------- |
| `l` | Character under cursor. |
| `j` | Character to the left of cursor. |
| `i` | Current line and line above. |
@ -55,13 +55,12 @@ OperatorRanges select a range for an Operator to act on. They must be used in No
| `[number]i` | Including [number] of lines up. |
| `[number]k` | Including [number] of lines down. |
## Motions
Motions move the cursor and can be used in Normal or Visual mode. In Visual mode they only move one side of the selection; the other side stays anchored to where it was when you entered Visual mode.
| Keys | Description |
|-|-|
| --------------- | --------------------------------------------------------------------------------------- |
| `l` | Character right. |
| `j` | Character left. |
| `i` | Line up. |
@ -87,13 +86,12 @@ Motions move the cursor and can be used in Normal or Visual mode. In Visual mode
| `M` | Middle of screen. |
| `L` | Bottom of screen. |
## Actions
Actions are miscellaneous commands that don't follow the well-defined patterns of Operators, OperatorRanges, or Motions.
| Keys | Description |
|-|-|
| ---------- | ------------------------------------------------------------------ |
| `~` | Enter Insert mode. |
| `U` | Move to beginning of line and enter Insert mode. |
| `a` | Move one character to the right and enter Insert mode. |
@ -139,32 +137,29 @@ Actions are miscellaneous commands that don't follow the well-defined patterns o
| `;` | Repeat the last `f`, `F`, `t` or `T` motion forward. |
| `,` | Repeat the last `f`, `F`, `t` or `T` motion backward. |
## Occurance Match Mode
Occurance Match Mode lets you easily add cursors to the symbol your cursor is under.
| Keys | Description |
|-|-|
| ---------------- | ----------------------------------------- |
| `[space][space]` | Enter occurance match mode. |
| `p` | Add cursor to to previous match. |
| `n` | Add cursor to to next match. |
| `a` | Add cursor to to all matches in document. |
## Bookmarks
Bookmarks are quick ways to jump to places in code. This requires `alefragnani.bookmarks` extension installed.
| Keys | Description |
|-|-|
| ---- | ------------------------------- |
| `mm` | Add bookmark to currnet line. |
| `mi` | Move to previous bookmark. |
| `mk` | Move to next bookmark. |
| `ml` | List bookmarks in current file. |
| `mL` | List bookmarks in all files. |
## Differences From Vim
SimpleVim prioritizes simplicity and integration with native VSCode features over compatability with Vim. If full Vim compatibility is important to you, consider trying a different extension. Here are some of the ways SimpleVim is different from Vim.
@ -189,7 +184,6 @@ SimpleVim prioritizes simplicity and integration with native VSCode features ove
- SimpleVim does not support marks. If you're jumping back and forth often between two places in a file you can use VSCode's split window feature, and use `Cmd+1` and `Cmd+2` to focus them. If you just need to jump back to where you've been, you can use VSCode's `Ctrl+-`.
## Settings
The `y` (yank) operator temporarily changes the background color of the range being yanked to make it obvious what you're yanking. Otherwise you might not realize you yanked the wrong thing until you tried to put it somewhere else. You can change the background color it uses with the `simpleVim.yankHighlightBackgroundColor` setting.

3177
dist/index.js vendored Normal file

File diff suppressed because it is too large Load Diff

2
index.d.ts vendored
View File

@ -1 +1 @@
declare module "string.prototype.matchall";
declare module 'string.prototype.matchall'

7520
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,12 @@
{
"name": "vscode-helix",
"version": "0.1.0",
"displayName": "Helix",
"description": "Helix-like key emulation for Visual Studio Code",
"version": "0.1.0",
"license": "MIT",
"publisher": "garlandcrow",
"author": "Garland Crow <garlandcrow@protonmail.com>",
"license": "MIT",
"homepage": "https://github.com/garlandcrow/vscode-helix#readme",
"keywords": [
"vim",
"vi",
@ -14,16 +16,24 @@
"type": "git",
"url": "https://github.com/garlandcrow/vscode-helix.git"
},
"engines": {
"vscode": "^1.22.2"
"bugs": {
"url": "https://github.com/garlandcrow/vscode-helix/issues"
},
"categories": [
"Other"
"Other",
"Keymaps"
],
"main": "./dist/index.js",
"icon": "res/icon.png",
"files": [
"dist"
],
"engines": {
"vscode": "^1.69.0"
},
"activationEvents": [
"*"
"onStartupFinished"
],
"main": "./out/extension",
"contributes": {
"keybindings": [
{
@ -65,25 +75,32 @@
}
},
"scripts": {
"vscode:prepublish": "npm run compile",
"package": "vsce package",
"publish": "vsce publish",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"postinstall": "node ./node_modules/vscode/bin/install",
"lint": "tslint -c tslint.json 'src/**/*.ts' --exclude 'src/test/*.ts'"
"build": "tsup src/index.ts --external vscode",
"dev": "npm run build --watch",
"pack": "vsce package --no-dependencies",
"publish": "vsce publish --no-dependencies",
"vscode:prepublish": "npm run build",
"lint": "prettier --check --plugin-search-dir=. . && eslint .",
"format": "prettier --write --plugin-search-dir=. .",
"typecheck": "tsc --noEmit",
"release": "bumpp && nr publish"
},
"devDependencies": {
"@antfu/eslint-config": "^0.25.2",
"@types/http-errors": "^1.8.0",
"@types/node": "^12.12.58",
"@types/node": "^16.14.2",
"@types/vscode": "^1.69.0",
"bumpp": "^8.2.1",
"eslint": "^8.21.0",
"esno": "^0.16.3",
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"string.prototype.matchall": "^4.0.2",
"tslint": "^5.10.0",
"typescript": "^4.0.2",
"tsup": "^6.2.1",
"typescript": "^4.7.4",
"vsce": "^2.11.0",
"vscode": "^1.1.18"
},
"dependencies": {
"vsce": "^2.11.0"
},
"__metadata": {
"id": "fb57f80d-708d-4ade-b92b-e420c6b5c04a",
"publisherDisplayName": "GarlandCrow",

View File

@ -1,15 +1,14 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es6",
"outDir": "out",
"lib": ["es6", "es2020.string"],
"sourceMap": true,
"rootDir": "src",
"target": "es2017",
"module": "esnext",
"lib": ["esnext"],
"moduleResolution": "node",
"esModuleInterop": true,
"strict": true,
"noUnusedLocals": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"exclude": ["node_modules", ".vscode-test"]
"strictNullChecks": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"skipDefaultLibCheck": true
}
}

View File

@ -1,17 +0,0 @@
{
"defaultSeverity": "error",
"extends": ["tslint:recommended"],
"jsRules": {},
"rules": {
"quotemark": [true, "single", "avoid-escape"],
"ordered-imports": false,
"curly": false,
"object-literal-shorthand": false,
"object-literal-sort-keys": false,
"arrow-parens": false,
"no-console": false,
"interface-over-type-literal": false,
"array-type": false
},
"rulesDirectory": []
}

9
tsup.config.ts Normal file
View File

@ -0,0 +1,9 @@
import { defineConfig } from 'tsup'
export default defineConfig({
entry: ['src/index.ts'],
format: ['cjs'],
shims: false,
dts: false,
external: ['vscode'],
})