448 lines
12 KiB
JSON
448 lines
12 KiB
JSON
{
|
|
"name": "rainbow-csv",
|
|
"displayName": "Rainbow CSV",
|
|
"description": "Highlight CSV and TSV files, Run SQL-like queries",
|
|
"version": "3.12.0",
|
|
"publisher": "mechatroner",
|
|
"license": "MIT",
|
|
"icon": "rainbow_csv_logo.png",
|
|
"engines": {
|
|
"vscode": "^1.71.0"
|
|
},
|
|
"keywords": [
|
|
"csv",
|
|
"tsv",
|
|
"highlight"
|
|
],
|
|
"categories": [
|
|
"Data Science",
|
|
"Other",
|
|
"Programming Languages"
|
|
],
|
|
"activationEvents": [
|
|
"onLanguage:csv",
|
|
"onLanguage:tsv",
|
|
"onLanguage:csv (semicolon)",
|
|
"onLanguage:csv (pipe)",
|
|
"onLanguage:csv (whitespace)",
|
|
"onLanguage:dynamic csv",
|
|
"onLanguage:plaintext",
|
|
"onCommand:rainbow-csv.RBQL",
|
|
"onCommand:rainbow-csv.RainbowSeparator",
|
|
"onCommand:rainbow-csv.SampleHead",
|
|
"onCommand:rainbow-csv.SampleTail"
|
|
],
|
|
"main": "./extension",
|
|
"browser": "./dist/web/extension.js",
|
|
"contributes": {
|
|
"configuration": {
|
|
"type": "object",
|
|
"title": "Rainbow CSV",
|
|
"properties": {
|
|
"rainbow_csv.enable_sticky_header": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 1,
|
|
"description": "Enable sticky header line at the top."
|
|
},
|
|
"rainbow_csv.enable_separator_autodetection": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 2,
|
|
"description": "Enable automatic content based separator autodetection."
|
|
},
|
|
"rainbow_csv.autodetect_separators": {
|
|
"type": "array",
|
|
"default": [
|
|
"TAB",
|
|
",",
|
|
";",
|
|
"|"
|
|
],
|
|
"description": "Enable automatic content-based separator autodetection for the specified list of separators (multicharacter separators are supported).",
|
|
"order": 3,
|
|
"items": {
|
|
"type": "string",
|
|
"description": "Separator"
|
|
}
|
|
},
|
|
"rainbow_csv.autodetection_min_line_count": {
|
|
"type": "number",
|
|
"default": 10,
|
|
"order": 4,
|
|
"description": "Minimum number of non-comment lines in file for content-based autodetection."
|
|
},
|
|
"rainbow_csv.enable_tooltip": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 5,
|
|
"description": "Enable column-info tooltip on hover."
|
|
},
|
|
"rainbow_csv.enable_tooltip_column_names": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 6,
|
|
"description": "Show column names in tooltip."
|
|
},
|
|
"rainbow_csv.enable_cursor_position_info": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 7,
|
|
"description": "Keyboard input text cursor: show info about the cursor CSV column in the status bar."
|
|
},
|
|
"rainbow_csv.double_width_alignment": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 8,
|
|
"description": "If enabled treat double width unicode chars e.g. Chinese or Japanese chars as double wide when aligning."
|
|
},
|
|
"rainbow_csv.enable_auto_csv_lint": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"order": 9,
|
|
"description": "Automatically run linter for every CSV file."
|
|
},
|
|
"rainbow_csv.csv_lint_detect_trailing_spaces": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 10,
|
|
"description": "CSV Lint: detect leading and trailing whitespaces in fields and show warning."
|
|
},
|
|
"rainbow_csv.comment_prefix": {
|
|
"type": "string",
|
|
"default": "",
|
|
"order": 11,
|
|
"description": "Comment lines prefix, e.g. \"#\". Set to empty string to disable."
|
|
},
|
|
"rainbow_csv.rbql_output_dir": {
|
|
"type": "string",
|
|
"default": "TMP",
|
|
"order": 12,
|
|
"description": "Output directory for RBQL result sets, can be `TMP`, `INPUT` or a custom absolute path. `TMP` - output in system tmp dir(default), `INPUT` - output in the same dir as input file, otherwise use provided path as the output directory e.g. `/path/to/custom/dir`."
|
|
},
|
|
"rainbow_csv.rbql_with_headers_by_default": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 13,
|
|
"description": "RBQL treats the first line as header by default."
|
|
},
|
|
"rainbow_csv.enable_context_menu_head": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 14,
|
|
"description": "Enable \"Preview CSV head\" option in File Explorer context menu for all files."
|
|
},
|
|
"rainbow_csv.enable_context_menu_tail": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 15,
|
|
"description": "Enable \"Preview CSV tail\" option in File Explorer context menu for all files."
|
|
},
|
|
"rainbow_csv.align_in_scratch_file": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 16,
|
|
"description": "If enabled, aligned content is copied to a new scratch file to keep the original file without modifications (unless the original is itself an untitled scratch document)."
|
|
},
|
|
"rainbow_csv.enable_debug_logging": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"order": 17,
|
|
"description": "Dev Mode: Enable Debug Logging. Run command [Developer: Show Logs...] -> [rainbow_csv_debug_channel] to see the output."
|
|
}
|
|
}
|
|
},
|
|
"menus": {
|
|
"editor/context": [
|
|
{
|
|
"when": "editorHasSelection && editorLangId =~ /dynamic csv|plaintext|^[ct]sv/",
|
|
"command": "rainbow-csv.RainbowSeparator",
|
|
"group": "rainbow_csv"
|
|
},
|
|
{
|
|
"when": "editorTextFocus && editorLangId =~ /dynamic csv|^[ct]sv/",
|
|
"command": "rainbow-csv.SetHeaderLine",
|
|
"group": "rainbow_csv"
|
|
},
|
|
{
|
|
"when": "editorTextFocus && editorLangId =~ /dynamic csv|^[ct]sv/",
|
|
"command": "rainbow-csv.SetCommentPrefix",
|
|
"group": "rainbow_csv"
|
|
}
|
|
],
|
|
"explorer/context": [
|
|
{
|
|
"command": "rainbow-csv.SampleHead",
|
|
"when": "config.rainbow_csv.enable_context_menu_head || resourceLangId =~ /plaintext|^[ct]sv/",
|
|
"group": "rainbow_csv"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SampleTail",
|
|
"when": "config.rainbow_csv.enable_context_menu_tail",
|
|
"group": "rainbow_csv"
|
|
}
|
|
]
|
|
},
|
|
"languages": [
|
|
{
|
|
"id": "csv",
|
|
"aliases": [
|
|
"CSV",
|
|
"csv"
|
|
],
|
|
"extensions": [
|
|
".csv"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "tsv",
|
|
"aliases": [
|
|
"TSV",
|
|
"tsv"
|
|
],
|
|
"extensions": [
|
|
".tsv",
|
|
".tab"
|
|
],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "csv (pipe)",
|
|
"aliases": [
|
|
"CSV (pipe)",
|
|
"csv (pipe)"
|
|
],
|
|
"extensions": [],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "csv (whitespace)",
|
|
"aliases": [
|
|
"CSV (whitespace)",
|
|
"csv (whitespace)"
|
|
],
|
|
"extensions": [],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "csv (semicolon)",
|
|
"aliases": [
|
|
"CSV (semicolon)",
|
|
"csv (semicolon)"
|
|
],
|
|
"extensions": [],
|
|
"configuration": "./language-configuration.json"
|
|
},
|
|
{
|
|
"id": "dynamic csv",
|
|
"aliases": [
|
|
"Dynamic CSV",
|
|
"dynamic csv"
|
|
],
|
|
"extensions": [],
|
|
"configuration": "./language-configuration.json"
|
|
}
|
|
],
|
|
"commands": [
|
|
{
|
|
"command": "rainbow-csv.CSVLint",
|
|
"title": "CSV Lint"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SetVirtualHeader",
|
|
"category": "Rainbow CSV",
|
|
"title": "Set virtual header"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SetHeaderLine",
|
|
"category": "Rainbow CSV",
|
|
"title": "Set header line"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SetCommentPrefix",
|
|
"category": "Rainbow CSV",
|
|
"title": "Set selection as comment prefix"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.RBQL",
|
|
"category": "Rainbow CSV",
|
|
"title": "RBQL"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SetJoinTableName",
|
|
"category": "Rainbow CSV",
|
|
"title": "Set join table name for RBQL"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.ColumnEditBefore",
|
|
"category": "Rainbow CSV",
|
|
"title": "Column edit before"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.ColumnEditAfter",
|
|
"category": "Rainbow CSV",
|
|
"title": "Column edit after"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.ColumnEditSelect",
|
|
"category": "Rainbow CSV",
|
|
"title": "Column edit select"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.RainbowSeparator",
|
|
"category": "Rainbow CSV",
|
|
"title": "Set rainbow separator"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.RainbowSeparatorOff",
|
|
"title": "RainbowSeparatorOff"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.RainbowSeparatorOn",
|
|
"title": "RainbowSeparatorOn"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.Align",
|
|
"category": "Rainbow CSV",
|
|
"title": "Align CSV Columns"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.Shrink",
|
|
"category": "Rainbow CSV",
|
|
"title": "Shrink CSV table: Remove leading and trailing whitespaces from all fields"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.CopyBack",
|
|
"title": "CopyBack"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SampleHead",
|
|
"title": "Preview big CSV: head"
|
|
},
|
|
{
|
|
"command": "rainbow-csv.SampleTail",
|
|
"title": "Preview big CSV: tail"
|
|
}
|
|
],
|
|
"semanticTokenScopes": [
|
|
{
|
|
"language": "dynamic csv",
|
|
"scopes": {
|
|
"rainbow1": [
|
|
"rainbow1"
|
|
],
|
|
"rainbow2": [
|
|
"keyword.rainbow2"
|
|
],
|
|
"rainbow3": [
|
|
"entity.name.function.rainbow3"
|
|
],
|
|
"rainbow4": [
|
|
"comment.rainbow4"
|
|
],
|
|
"rainbow5": [
|
|
"string.rainbow5"
|
|
],
|
|
"rainbow6": [
|
|
"variable.parameter.rainbow6"
|
|
],
|
|
"rainbow7": [
|
|
"constant.numeric.rainbow7"
|
|
],
|
|
"rainbow8": [
|
|
"entity.name.type.rainbow8"
|
|
],
|
|
"rainbow9": [
|
|
"markup.bold.rainbow9"
|
|
],
|
|
"rainbow10": [
|
|
"invalid.rainbow10"
|
|
],
|
|
"comment": [
|
|
"comment"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"configurationDefaults": {
|
|
"[dynamic csv][csv][tsv][csv (semicolon)][csv (pipe)][csv (whitespace)]": {
|
|
"editor.semanticHighlighting.enabled": true,
|
|
"editor.stickyScroll.enabled": true
|
|
}
|
|
},
|
|
"grammars": [
|
|
{
|
|
"language": "csv",
|
|
"scopeName": "text.csv",
|
|
"path": "./syntaxes/csv.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "tsv",
|
|
"scopeName": "text.tsv",
|
|
"path": "./syntaxes/tsv.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "csv (pipe)",
|
|
"scopeName": "text.psv",
|
|
"path": "./syntaxes/pipe_simple.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "csv (whitespace)",
|
|
"scopeName": "text.wspcsv",
|
|
"path": "./syntaxes/wspcsv.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "csv (semicolon)",
|
|
"scopeName": "text.scsv",
|
|
"path": "./syntaxes/scsv.tmLanguage.json"
|
|
},
|
|
{
|
|
"language": "dynamic csv",
|
|
"scopeName": "text.dynamiccsv",
|
|
"path": "./syntaxes/dynamic_csv.tmLanguage.json"
|
|
}
|
|
]
|
|
},
|
|
"capabilities": {
|
|
"hoverProvider": "true"
|
|
},
|
|
"scripts": {
|
|
"vscode:prepublish": "npm run package-web",
|
|
"compile-web": "webpack",
|
|
"lint": "eslint rainbow_utils.js fast_load_utils.js extension.js test/runTest.js && eslint -c .eslintrc_browser.json rainbow_utils.js rbql_client.js dialect_select.js",
|
|
"watch-web": "webpack --watch",
|
|
"package-web": "webpack --mode production --devtool hidden-source-map",
|
|
"start-web-server": "vscode-test-web --version stable --browser=none --extensionDevelopmentPath=. test",
|
|
"test-in-browser": "vscode-test-web --version stable --browser=chromium --extensionDevelopmentPath=. --extensionTestsPath=dist/web/test/suite/index.js test",
|
|
"test": "node ./test/runTest.js",
|
|
"unit-test-only": "node ./test/suite/run_unit_tests.js"
|
|
},
|
|
"devDependencies": {
|
|
"@types/vscode": "^1.62.0",
|
|
"@vscode/test-web": "^0.0.22",
|
|
"@vscode/test-electron": "^2.3.7",
|
|
"webpack": "^5.64.0",
|
|
"webpack-cli": "^4.9.1",
|
|
"assert": "^2.0.0",
|
|
"process": "^0.11.10",
|
|
"eslint": "^7.21.0"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/mechatroner/vscode_rainbow_csv"
|
|
},
|
|
"__metadata": {
|
|
"id": "3792588c-3d35-442d-91ea-fe6a755e8155",
|
|
"publisherId": "0d5438b6-325a-4f88-aa28-6192aa2cf2a6",
|
|
"publisherDisplayName": "mechatroner",
|
|
"targetPlatform": "undefined",
|
|
"isApplicationScoped": false,
|
|
"isPreReleaseVersion": false,
|
|
"hasPreReleaseVersion": false,
|
|
"installedTimestamp": 1718124265286,
|
|
"pinned": false,
|
|
"preRelease": false,
|
|
"source": "gallery"
|
|
}
|
|
} |