{
	"name": "vscode-edit-csv",
	"displayName": "Edit CSV",
	"description": "extension to edit csv files with a table ui",
	"version": "0.11.8",
	"license": "MIT",
	"icon": "images/logo.png",
	"publisher": "janisdd",
	"engines": {
		"vscode": "^1.70.0"
	},
	"categories": [
		"Other"
	],
	"keywords": [
		"CSV"
	],
	"preview": false,
	"repository": {
		"type": "git",
		"url": "https://github.com/janisdd/vscode-edit-csv.git"
	},
	"bugs": {
		"url": "https://github.com/janisdd/vscode-edit-csv/issues"
	},
	"galleryBanner": {
		"color": "#687bff",
		"theme": "light"
	},
	"activationEvents": [
		"onCommand:edit-csv.edit",
		"onCommand:edit-csv.apply",
		"onCommand:edit-csv.applyAndSave",
		"onCommand:edit-csv.editWithConfig"
	],
	"main": "./out/extension.js",
	"contributes": {
		"languages": [
			{
				"id": "csv",
				"extensions": [
					".csv"
				],
				"aliases": [
					"CSV"
				]
			},
			{
				"id": "tsv",
				"extensions": [
					".tsv",
					".tab"
				],
				"aliases": [
					"TSV"
				]
			}
		],
		"commands": [
			{
				"command": "edit-csv.edit",
				"category": "CSV",
				"title": "Edit CSV"
			},
			{
				"command": "edit-csv.goto-source",
				"category": "CSV",
				"title": "Go to csv source file"
			},
			{
				"command": "edit-csv.apply",
				"category": "CSV",
				"title": "Apply changes to source file"
			},
			{
				"command": "edit-csv.applyAndSave",
				"category": "CSV",
				"title": "Apply changes to source file and save"
			}
		],
		"menus": {
			"explorer/context": [
				{
					"when": "resourceLangId == csv && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == tsv && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == CSV && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == TSV && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'CSV (semicolon)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (semicolon)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (pipe)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (whitespace)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (tilde)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (caret)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (colon)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (double quote)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (equals)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (dot)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'csv (hyphen)' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "resourceLangId == 'dynamic csv' && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				}
			],
			"editor/title": [
				{
					"when": "editorLangId == csv && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == tsv && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == CSV && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == TSV && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'CSV (semicolon)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (semicolon)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (pipe)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (whitespace)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (tilde)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (caret)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (colon)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (double quote)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (equals)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (dot)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'csv (hyphen)' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				},
				{
					"when": "editorLangId == 'dynamic csv' && resourceScheme != csv-edit && !config.csv-edit.hideOpenCsvEditorUiActions",
					"command": "edit-csv.edit",
					"group": "navigation"
				}
			]
		},
		"configuration": {
			"title": "Edit CSV configuration",
			"type": "object",
			"properties": {
				"csv-edit.highlightCsvComments": {
					"type": "boolean",
					"default": true,
					"description": "true: the cell/row color is changed if the first cell is a comment, (might have negative impact on performance e.g. for large data sets), false: no additional highlighting (comments are still treated as comments). NOTE that only the first cell value is saved to the csv file."
				},
				"csv-edit.lastRowEnterBehavior": {
					"type": "string",
					"default": "default",
					"description": "if one edits a cell in the last row and presses enter what the editor should do (default is to jump to the first row in the next column)",
					"enum": [
						"default",
						"createRow"
					],
					"enumDescriptions": [
						"default of handsontable (or lastRowOrFirstRowNavigationBehavior)",
						"create a new row"
					]
				},
				"csv-edit.lastColumnTabBehavior": {
					"type": "string",
					"default": "default",
					"description": "if one edits a cell in the last column and presses tab what the editor should do (default is to jump to the first row in the first column)",
					"enum": [
						"default",
						"createColumn"
					],
					"enumDescriptions": [
						"default of handsontable (or lastColumnOrFirstColumnNavigationBehavior)",
						"create a new column"
					]
				},
				"csv-edit.lastRowOrFirstRowNavigationBehavior": {
					"type": "string",
					"default": "stop",
					"description": "if a cell in the last row (or first) is selected and one presses arrow down or (enter in cell editor), what should happen?",
					"enum": [
						"wrap",
						"stop"
					],
					"enumDescriptions": [
						"the next cell in the first row (or last) should be selected (wrap)",
						"the selection should stay the same (stop)"
					]
				},
				"csv-edit.lastColumnOrFirstColumnNavigationBehavior": {
					"type": "string",
					"default": "stop",
					"description": "if a cell in the last column (or first) is selected and one presses arrow right or tab, what should happen?",
					"enum": [
						"wrap",
						"stop"
					],
					"enumDescriptions": [
						"the first cell in the next row should be selected (wrap)",
						"the selection should stay the same (stop)"
					]
				},
				"csv-edit.optionsBarAppearance": {
					"type": "string",
					"default": "collapsed",
					"description": "the appearance of the options bar",
					"enum": [
						"expanded",
						"collapsed"
					],
					"enumDescriptions": [
						"options bar will always start expanded",
						"options bar will always start collapsed"
					]
				},
				"csv-edit.tryToGuessHasHeader": {
					"type": "boolean",
					"default": false,
					"description": "true: tries to guess if the csv file has a header line, false: not. Note: This only sets the has header option to true, but never to false"
				},
				"csv-edit.readOption_hasHeader": {
					"type": "string",
					"default": "false",
					"description": "whether the first data line is a header line",
					"enum": [
						"true",
						"false"
					],
					"enumDescriptions": [
						"first row is the header row",
						"first row is a normal data row"
					]
				},
				"csv-edit.readOption_delimiter": {
					"type": "string",
					"default": "",
					"description": "the delimiter to use, empty string to auto detect"
				},
				"csv-edit.readOption_delimitersToGuess": {
					"type": "array",
					"default": [
						",",
						"\t",
						"|",
						";",
						"\u001e",
						"\u001f"
					],
					"description": "the delimiters to guess automatically (in the given order)"
				},
				"csv-edit.readOption_comment": {
					"type": "string",
					"default": "#",
					"description": "the string used as comment, empty string to treat every line as data line (no comments)"
				},
				"csv-edit.readOption_quoteChar": {
					"type": "string",
					"default": "\"",
					"description": "the string used to quote fields",
					"maxLength": 1
				},
				"csv-edit.readOption_escapeChar": {
					"type": "string",
					"default": "\"",
					"description": "the string used to escape the quote character within a field",
					"maxLength": 1
				},
				"csv-edit.writeOption_hasHeader": {
					"type": "string",
					"default": "false",
					"description": "whether the first data line is a header line",
					"enum": [
						"true",
						"false"
					],
					"enumDescriptions": [
						"first row is the header row",
						"first row is a normal data row"
					]
				},
				"csv-edit.writeOption_delimiter": {
					"type": "string",
					"default": "",
					"description": "the delimiter to use, empty string to auto detect"
				},
				"csv-edit.writeOption_comment": {
					"type": "string",
					"default": "#",
					"description": "the string used as comment, empty string to exclude comments"
				},
				"csv-edit.writeOption_quoteChar": {
					"type": "string",
					"default": "\"",
					"description": "the string used to quote fields",
					"maxLength": 1
				},
				"csv-edit.writeOption_escapeChar": {
					"type": "string",
					"default": "\"",
					"description": "the string used to escape the quote character within a field",
					"maxLength": 1
				},
				"csv-edit.doubleClickColumnHandleForcedWith": {
					"type": "number",
					"default": 200,
					"description": "normally the columns are auto sized. If we click on the handle when it has auto size, its width is set to this value (in px). Useful if we have a very wide column (wider than the screen and quickly want to shrink it). Also controls which size is displayed in the context menu for resizing columns."
				},
				"csv-edit.doubleClickRowHandleForcedHeight": {
					"type": "number",
					"default": 106,
					"description": "normally the rows are auto sized. If we click on the handle when it has auto size, its height is set to this value (in px). Useful if we have a very tall rows (wider than the screen and quickly want to shrink it). Also controls which size is displayed in the context menu for resizing rows (Default value gives you 5 rows with the default font size)."
				},
				"csv-edit.openSourceFileAfterApply": {
					"type": "boolean",
					"default": false,
					"description": "true: opens the source file after apply, false: keep the editor displayed"
				},
				"csv-edit.selectTextAfterBeginEditCell": {
					"type": "boolean",
					"default": false,
					"description": "true: select the text inside the cell (note you can also select the cell and start typings to overwrite the cell value), false: cursor starts at the end of the text"
				},
				"csv-edit.quoteAllFields": {
					"type": "boolean",
					"default": false,
					"description": "true: to always quote fields, false: not (only if necessary, and respect retainQuoteInformation)"
				},
				"csv-edit.quoteEmptyOrNullFields": {
					"type": "string",
					"default": "false",
					"description": "whether null, undefined and empty values should be quoted (takes precedence over quoteAllFields)",
					"enum": [
						"true",
						"false"
					],
					"enumDescriptions": [
						"quote null, undefined and empty values",
						"do not quote null, undefined and empty values"
					]
				},
				"csv-edit.initiallyHideComments": {
					"type": "boolean",
					"default": false,
					"description": "true: Initially hides rows with comments found in the table, false: not hide rows with comments"
				},
				"csv-edit.enableWrapping": {
					"type": "boolean",
					"default": true,
					"description": "true: cell content is wrapped and the row height is changed, false: no wrapping (content is hidden)"
				},
				"csv-edit.initialColumnWidth": {
					"type": "integer",
					"default": 0,
					"description": "the initial width for columns, 0 or a negative number will disable this and auto column size is used on initial render"
				},
				"csv-edit.autoColumnWidthsIgnoreComments": {
					"type": "boolean",
					"default": true,
					"description": "true: auto sizing columns will ignore comments, false: auto sizing columns will take comments into account"
				},
				"csv-edit.retainQuoteInformation": {
					"type": "string",
					"default": "full",
					"description": "determines how the quote information is tracked across cells. NOTE: This only sets quotes for cells, but never prevents quotes from being added (so as not to interfere with other quote-related settings)",
					"enum": [
						"none",
						"determinedByColumns",
						"full"
					],
					"enumDescriptions": [
						"do not retain any quote information",
						"is determined by the first cell in the same column (as the cell in question)",
						"track the quote information for every cell individually"
					]
				},
				"csv-edit.forceQuoteLeadingWhitespace": {
					"type": "boolean",
					"default": false,
					"description": "true: if a csv field begins with whitespace, it should always be enclosed in quotes, false: not"
				},
				"csv-edit.forceQuoteTrailingWhitespace": {
					"type": "boolean",
					"default": false,
					"description": "true: if a csv field ends with whitespace, it should always be enclosed in quotes, false: not"
				},
				"csv-edit.newColumnQuoteInformationIsQuoted": {
					"type": "boolean",
					"default": false,
					"description": "true: new columns will get true as quote information (also for added columns via expanding), false: new columns will get false as quote information"
				},
				"csv-edit.disableBorders": {
					"type": "boolean",
					"default": false,
					"description": "true: borders are set to 0 (in css). This helps if you encounter some border color issues, false: normal borders"
				},
				"csv-edit.initiallyFixedRowsTop": {
					"type": "number",
					"default": 0,
					"description": "the first X rows are pinned so they will stay in view even if you scroll"
				},
				"csv-edit.initiallyFixedColumnsLeft": {
					"type": "number",
					"default": 0,
					"description": "the first X columns are pinned so they will stay in view even if you scroll"
				},
				"csv-edit.fontSizeInPx": {
					"type": "number",
					"default": 16,
					"description": "the font size in px, 0 or -x to sync the font size with the editor, +x to overwrite the font size (changing will rerender the table)"
				},
				"csv-edit.showColumnHeaderNamesWithLettersLikeExcel": {
					"type": "boolean",
					"default": false,
					"description": "true: show column names with letters e.g. A, B, ..., Z (like Excel), false: use numbers for column names e.g. 1, 2, ..."
				},
				"csv-edit.columnNamesStartIndex": {
					"type": "integer",
					"default": 1,
					"description": "When numbers are used for column names (column 1, column 2, ...), the first column number starts with this number"
				},
				"csv-edit.shouldWatchCsvSourceFile": {
					"type": "string",
					"default": "yesAndNotify",
					"description": "if the source csv file should be watched for changes",
					"enum": [
						"no",
						"yesAndNotify",
						"yesAndAutoReload"
					],
					"enumDescriptions": [
						"do not watch the source csv file for changes",
						"the source csv file is watched for changes and you will be notified if the source file is changed",
						"the source csv file is watched for changes and new data is automatically loaded, overwriting existing changes (no undo!)"
					]
				},
				"csv-edit.sidePanelAppearance": {
					"type": "string",
					"default": "collapsed",
					"description": "the appearance of the side panel",
					"enum": [
						"expanded",
						"collapsed"
					],
					"enumDescriptions": [
						"side panel will always start expanded",
						"side panel will always start collapsed"
					]
				},
				"csv-edit.initialNumbersStyle": {
					"type": "string",
					"default": "en",
					"description": "the initial numbers style for the side panel stats and auto fill function",
					"enum": [
						"en",
						"non-en"
					],
					"enumDescriptions": [
						"decimal separator is '.' e.g. 3.14 Optional thousand separator: ',' e.g. 1,003.14",
						"decimal separator is ',' e.g. 3,14 Optional thousand separator: '.' e.g. 1.003,14"
					]
				},
				"csv-edit.insertRowBehavior": {
					"type": "string",
					"default": "keepRowKeepColumn",
					"description": "which cell should be focused or selected when a new row is inserted (above or below)",
					"enum": [
						"focusFirstCellNewRow",
						"keepRowKeepColumn"
					],
					"enumDescriptions": [
						"focus the first cell in the new row",
						"keep the currently selected cell"
					]
				},
				"csv-edit.insertColBehavior": {
					"type": "string",
					"default": "keepRowKeepColumn",
					"description": "which cell should be focused or selected when a new column is inserted (left or right)",
					"enum": [
						"keepRowFocusNewColumn",
						"keepRowKeepColumn"
					],
					"enumDescriptions": [
						"we stay in the same row but the cell in the new column is selected",
						"keep the currently selected cell"
					]
				},
				"csv-edit.initiallyIsInReadonlyMode": {
					"type": "boolean",
					"default": false,
					"description": "true: table starts in readonly mode, false: normal edit mode"
				},
				"csv-edit.hideOpenCsvEditorUiActions": {
					"type": "boolean",
					"default": false,
					"description": "false: hide the edit csv button and the file context menu action to open the editor (useful if you want to call this extension from another extension and show a custom button), true: show them"
				},
				"csv-edit.openTableAndSelectCellAtCursorPos": {
					"type": "string",
					"default": "initialOnly_correctRowAlwaysFirstColumn",
					"description": "if the table should be opened at the cursor position and select the corresponding csv cell",
					"enum": [
						"initialOnly_correctRowAlwaysFirstColumn",
						"initialOnly_correctRowAndColumn",
						"never"
					],
					"enumDescriptions": [
						"(initial only) select the correct row at the cursor position but always select the first column",
						"only opens the table at the cursor position (cell) the first time the table is opened",
						"never open the table at the cursor position, open the table at the top left corner"
					]
				},
				"csv-edit.pasteMode": {
					"type": "string",
					"default": "normal",
					"description": "the paste mode to use (note that this is done after the cell processing e.g. remove quote escapes)",
					"enum": [
						"normal",
						"onlyKeepRowSeparators",
						"onlyKeepColumnSeparators",
						"ignoreAllSeparators"
					],
					"enumDescriptions": [
						"normal paste (rows and columns are respected)",
						"only keep row separators (ignore column separators) (every row will have 1 column)",
						"only keep column separators (ignore row separators) (only 1 row will be pasted)",
						"always paste into a single cell (ignoring row and column separators)"
					]
				},
				"csv-edit.pasteBehavior": {
					"type": "string",
					"default": "overwrite",
					"description": "the paste behaviour to be used (what should happen to the old content)",
					"enum": [
						"overwrite",
						"overwriteExceptEmpty",
						"shift_down",
						"shift_right"
					],
					"enumDescriptions": [
						"pasting content overwrites the existing content",
						"pasting content overwrites the existing content except for empty cells (in the pasting content)",
						"pasting content shifts the existing content (cells) down",
						"pasting content shifts the existing content (cells) to the right"
					]
				},
				"csv-edit.pasteScrollBehavior": {
					"type": "string",
					"default": "scrollToLastPastedCell",
					"description": "the scroll behaviour after pasting data",
					"enum": [
						"scrollToLastPastedCell",
						"scrollToFirstPastedCell",
						"dontScroll"
					],
					"enumDescriptions": [
						"scrolls to the laste pasted cell",
						"scrolls to the first pasted cell",
						"don't scroll to the pasted cells"
					]
				},
				"csv-edit.fontFamilyInTable": {
					"type": "string",
					"default": "default",
					"description": "sets the font family used in the table",
					"enum": [
						"default",
						"sameAsCodeEditor"
					],
					"enumDescriptions": [
						"use the default font",
						"use the same font family as the code editor"
					]
				},
				"csv-edit.showDeleteColumnHeaderButton": {
					"type": "boolean",
					"default": true,
					"description": "true: shows a delete column button in the column header (on hover), false: not"
				},
				"csv-edit.showDeleteRowHeaderButton": {
					"type": "boolean",
					"default": true,
					"description": "true: shows a delete row button in the row header (on hover), false: not"
				},
				"csv-edit.finalNewLine": {
					"type": "string",
					"default": "sameAsSourceFile",
					"description": "Decides how to handle final new lines when writing the csv data back to the source file",
					"enum": [
						"sameAsSourceFile",
						"add",
						"remove"
					],
					"enumDescriptions": [
						"If the source csv file had a new line at the end, the resulting csv will also have one. Otherwise, no final new line will be inserted after the data.",
						"Will add a final new line after the csv data",
						"Will not write a final new line after the csv data"
					]
				},
				"csv-edit.darkThemeTextColor": {
					"type": "string",
					"default": "#d0d0d0",
					"description": "the color used for text in the dark theme (some valid css string)"
				},
				"csv-edit.lightThemeTextColor": {
					"type": "string",
					"default": "#657b83",
					"description": "the color used for text in the light theme (some valid css string)"
				},
				"csv-edit.convertUrlsToLinkTags": {
					"type": "boolean",
					"default": true,
					"description": "true: if a cell contains url-like text, the urls are displayed as urls and can be clicked on. false: all urls are rendered as normal text"
				},
				"csv-edit.dragToAutoFill": {
					"type": "string",
					"default": "excelLike",
					"description": "Determines whether a handle is displayed on the cell to automatically fill the content",
					"enum": [
						"none",
						"copyOnly",
						"excelLike"
					],
					"enumDescriptions": [
						"Disables drag to auto fill",
						"Adds a drag handle for copying data",
						"Adds a drag handle for filling data like excel (numbers, months, dates). Defaults to copying if nothing can be interpolated. You can hold down the Alt key to use copying instead of interpolation."
					]
				},
				"csv-edit.initiallyHiddenColumnNames": {
					"type": "array",
					"description": "Specifies the column names that are to be hidden initially (the first row is used, ignoring comment rows)",
					"default": [],
					"items": {
						"type": "string",
						"description": "the name of the column to be hidden initially"
					}
				},
				"csv-edit.initiallyHiddenColumnNumbers": {
					"type": "array",
					"description": "Specifies the columns (by number) that are to be hidden initially",
					"default": [],
					"items": {
						"type": "number",
						"description": "the number (1-based) of the column to be hidden initially"
					}
				},
				"csv-edit.useSaveButtonsAsAdditionalUnsavedChangesIndicator": {
					"type": "boolean",
					"description": "Determines whether the save buttons should also indicate unsaved changes (true) or not (false)",
					"default": true
				},
				"csv-edit.copyColumnHeaderNamesSeparator": {
					"type": "string",
					"default": ", ",
					"description": "The string used to join multiple column header names when copying column header names",
					"minLength": 1
				}
			}
		}
	},
	"scripts": {
		"preinstall": "npx npm-force-resolutions",
		"vscode:prepublish": "npm audit && npm run compile && npm run testFe && npm run promptUp",
		"compile": "npx tsc -p ./ && tsc -p ./csvEditorHtml/tsconfig.json",
		"watch": "npx tsc -watch -p ./",
		"watchEditor": "npx tsc -w -p ./csvEditorHtml/tsconfig.json",
		"package": "vsce package",
		"test": "npm run compile && vscode-test",
		"testFe": "vitest run --config csvEditorHtml/test/vitest.config.ts",
		"test2": "echo 'to run the tests compile and then go to the debug tab and start Extension Tests'",
		"lint": "npx tslint -p . && npx tslint -p ./csvEditorHtml/tsconfig.json",
		"promptUp": "node ./promtUploadbuild.js",
		"buildBrowser": "node ./csvEditorHtml/out/browser/build/build.js"
	},
	"dependencies": {
		"@vscode/webview-ui-toolkit": "1.0.0",
		"dayjs": "1.11.13"
	},
	"devDependencies": {
		"@sweetalert2/theme-dark": "3.2.0",
		"@types/big.js": "4.0.5",
		"@types/fs-extra": "9.0.1",
		"@types/glob": "7.1.2",
		"@types/jsdom": "11.0.4",
		"@types/mocha": "2.2.48",
		"@types/mousetrap": "1.6.3",
		"@types/node": "18.11.9",
		"@types/readline-sync": "1.4.3",
		"@types/vscode": "1.70.0",
		"@vitest/browser": "3.0.8",
		"@vscode/test-cli": "0.0.10",
		"@vscode/test-electron": "2.4.1",
		"bulma-toast": "2.0.3",
		"chardet": "1.2.1",
		"fs-extra": "9.0.1",
		"glob": "7.1.6",
		"iconv-lite": "0.6.2",
		"jsdom": "16.7.0",
		"mocha": "11.0.1",
		"playwright": "1.56.1",
		"readline-sync": "1.4.10",
		"sweetalert2": "9.17.2",
		"toaster-js": "2.2.3",
		"tslint": "5.8.0",
		"typescript": "5.0.4",
		"vitest": "3.0.8"
	},
	"__metadata": {
		"installedTimestamp": 1769398148343,
		"targetPlatform": "undefined",
		"size": 1525251
	}
}