Skip to content

Commit 0c545ee

Browse files
authored
feat: default config (#6)
- add configuration for default configs - expand all kubernetes object tree view by default - sort the YAML result by default
1 parent 7336443 commit 0c545ee

File tree

2 files changed

+27
-3
lines changed

2 files changed

+27
-3
lines changed

package.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,26 @@
3636
"activationEvents": [],
3737
"main": "./out/extension.js",
3838
"contributes": {
39+
"configuration": [
40+
{
41+
"id": "kubemani-diff-configuration",
42+
"title": "KubeMani Diff",
43+
"properties": {
44+
"kubemaniTreeView.expandAll": {
45+
"type": "boolean",
46+
"default": true,
47+
"description": "Expand all the Kubernetes Objects in a tree view by default",
48+
"scope": "resource"
49+
},
50+
"editor.sortYaml": {
51+
"type": "boolean",
52+
"default": true,
53+
"description": "Sort the Kubernetes Object YAML in the Editor",
54+
"scope": "resource"
55+
}
56+
}
57+
}
58+
],
3959
"viewsContainers": {
4060
"activitybar": [
4161
{

src/kubeItemView.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,11 @@ export class KubeItem extends vscode.TreeItem implements IKubeItem {
5050
public uriB?: vscode.Uri | undefined
5151
) {
5252

53-
// TODO: create config to set Collapsed or Expanded by default;
54-
var collapsibleState = vscode.TreeItemCollapsibleState.Collapsed;
53+
let collapsibleState = vscode.TreeItemCollapsibleState.Collapsed;
54+
const sortYaml = vscode.workspace.getConfiguration().get('kubemaniTreeView.expandAll');
55+
if (sortYaml) {
56+
collapsibleState = vscode.TreeItemCollapsibleState.Expanded;
57+
}
5558
if (type === KubeItemType.Item) {
5659
collapsibleState = vscode.TreeItemCollapsibleState.None;
5760
}
@@ -314,7 +317,8 @@ function createTempFileFromKubernetesObject(content: KubernetesObject, dir: vsco
314317

315318
const filePath = path.join(dir.fsPath, `${appears}.yaml`);
316319
try {
317-
fs.writeFileSync(filePath, yaml.dump(content));
320+
const sortYaml = vscode.workspace.getConfiguration().get('editor.sortYaml');
321+
fs.writeFileSync(filePath, yaml.dump(content, {sortKeys: sortYaml ? true : false}));
318322
const fileUri = vscode.Uri.file(filePath);
319323
return fileUri;
320324
} catch (err) {

0 commit comments

Comments
 (0)