-
Notifications
You must be signed in to change notification settings - Fork 1
/
package.json
162 lines (162 loc) · 5.4 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
{
"private": true,
"version": "0.14.0",
"name": "vscode-kanata",
"displayName": "Kanata Configuration Language",
"author": "rszyma",
"publisher": "rszyma",
"icon": "assets/kanata_icon.png",
"description": "Language support for kanata configuration files",
"keywords": [
"kanata",
"keyboard",
"lsp"
],
"categories": [
"Programming Languages",
"Other",
"Formatters"
],
"repository": {
"type": "git",
"url": "https://github.com/rszyma/vscode-kanata"
},
"license": "LGPL-3.0",
"engines": {
"node": "^20.12.2",
"vscode": "^1.80.0"
},
"main": "./out/client.js",
"activationEvents": [
"workspaceContains:**/*.kbd"
],
"capabilities": {
"virtualWorkspaces": {
"supported": true
},
"untrustedWorkspaces": {
"supported": true
}
},
"contributes": {
"languages": [
{
"id": "kanata",
"aliases": [
"Kanata",
"kanata"
],
"extensions": [
".kbd"
],
"configuration": "./language-configuration.json"
}
],
"grammars": [
{
"language": "kanata",
"scopeName": "source.kanata",
"path": "./syntaxes/kanata.tmLanguage.json"
}
],
"commands": [
{
"command": "vscode-kanata.setSetCurrentFileAsMain",
"category": "Kanata",
"title": "Set current file as main"
}
],
"configuration": {
"type": "object",
"title": "Kanata",
"properties": {
"vscode-kanata.includesAndWorkspaces": {
"type": "string",
"enum": [
"single",
"workspace"
],
"markdownEnumDescriptions": [
"Every kanata file in the workspace will be treated as main config file. `include` blocks can't be correctly analyzed if this option is selected.",
"Only a single, selected file (by default `kanata.kbd`) will be treated as main file. Other files will not be be analyzed for errors, unless the main file includes them. Selecting this option enables support for `include` blocks."
],
"default": "single",
"markdownDescription": "Controls how to treat multiple kanata configuration files in one workspace."
},
"vscode-kanata.mainConfigFile": {
"type": "string",
"pattern": "^[a-zA-Z0-9_\\-\\.]+$",
"patternErrorMessage": "Main config filename must be a file located in the workspace root",
"default": "kanata.kbd",
"markdownDescription": "Main config filename. This setting applies only if the `includesAndWorkspaces` is set to `workspace`"
},
"vscode-kanata.localKeysVariant": {
"type": "string",
"enum": [
"deflocalkeys-win",
"deflocalkeys-wintercept",
"deflocalkeys-winiov2",
"deflocalkeys-linux",
"deflocalkeys-macos"
],
"default": "auto",
"markdownDescription": "Select which localkeys variant to use."
},
"vscode-kanata.format.enable": {
"type": "boolean",
"default": true,
"description": "Enable formatting"
},
"vscode-kanata.format.useDefsrcLayoutOnDeflayers": {
"type": "boolean",
"default": true,
"markdownDescription": "Formatting applies spacial layout of `defsrc` to all `deflayer`s."
},
"vscode-kanata.environmentVariables": {
"type": "object",
"default": {},
"additionalProperties": {
"type": "string"
},
"markdownDescription": "Environment variables to pass to kanata parser to use in `defaliasenvcond`."
},
"vscode-kanata.dimInactiveConfigItems": {
"type": "boolean",
"default": true,
"markdownDescription": "Gray-out configuration items that are not applicable with the current settings (`deflocalkeys-*`, `defaliasenvcond`, `platform`)"
}
}
}
},
"scripts": {
"package": "vsce package --yarn --githubBranch main --out kanata.vsix",
"publish": "vsce publish --yarn --githubBranch main --packagePath kanata.vsix",
"typecheck": "tsc --noEmit",
"fmtwrite": "prettier --write 'client/**/*.ts' 'server/**/*.ts' 'test/**/*.ts'",
"fmtcheck": "prettier --check 'client/**/*.ts' 'server/**/*.ts' 'test/**/*.ts'",
"test": "tsc --build test && yarn esbuild-all && node ./out/test/src/runTest.js",
"esbuild-client": "esbuild client=./client/src --bundle --outdir=out --external:vscode --format=cjs --platform=node",
"esbuild-server": "esbuild server=./server/src --bundle --outdir=out --external:vscode --format=cjs --platform=node",
"esbuild-all": "yarn esbuild-server --sourcemap && yarn esbuild-client --sourcemap",
"vscode:prepublish": "yarn esbuild-server --minify && yarn esbuild-client --minify"
},
"dependencies": {
"vscode-languageclient": "^8.1.0",
"vscode-languageserver": "^8.1.0"
},
"devDependencies": {
"@types/node": "^20.13.0",
"@types/vscode": "^1.80.0",
"@typescript-eslint/eslint-plugin": "^6.20.0",
"@typescript-eslint/parser": "^6.20.0",
"@vscode/test-electron": "^2.3.4",
"@vscode/vsce": "^2.20.0",
"esbuild": "0.18.17",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"prettier": "^3.2.5",
"semver": "^7.5.4",
"typescript": "^5.3.3"
}
}