OXYGENHUB
# c8f955891224 oxygen-vscode / package.json
8.2 KiB · JSON · last changed Milestone 0.3: bookmark picker (switch, create, merge, delete), fetch, pull, push and push bookmark with results, sync counter and Sync, push confirmation 1 month ago source blame history raw
1
{
2
  "name": "oxygen-vscode",
3
  "displayName": "Oxygen",
4
  "description": "Oxygen version control: source control view, diffs, decorations, bookmarks and history for oxy repositories",
5
  "version": "0.3.0",
6
  "publisher": "oxygen",
7
  "license": "MIT OR Apache-2.0",
8
  "icon": "assets/images/oxygen.png",
9
  "engines": {
10
    "vscode": "^1.137.0"
11
  },
12
  "categories": [
13
    "SCM Providers"
14
  ],
15
  "keywords": [
16
    "oxygen",
17
    "oxy",
18
    "scm",
19
    "version control"
20
  ],
21
  "activationEvents": [
22
    "workspaceContains:.oxy/format",
23
    "workspaceContains:.oxy",
24
    "onStartupFinished"
25
  ],
26
  "main": "./dist/extension.js",
27
  "contributes": {
28
    "commands": [
29
      { "command": "oxygen.refresh", "title": "Refresh", "category": "Oxygen", "icon": "$(refresh)" },
30
      { "command": "oxygen.commit", "title": "Commit", "category": "Oxygen", "icon": "$(check)" },
31
      { "command": "oxygen.openFile", "title": "Open File", "category": "Oxygen", "icon": "$(go-to-file)" },
32
      { "command": "oxygen.openChanges", "title": "Open Changes", "category": "Oxygen" },
33
      { "command": "oxygen.openBaseVersion", "title": "Open Base Version", "category": "Oxygen" },
34
      { "command": "oxygen.showOutput", "title": "Show Output", "category": "Oxygen" },
35
      { "command": "oxygen.showLog", "title": "Show Log", "category": "Oxygen" },
36
      { "command": "oxygen.init", "title": "Initialize Repository", "category": "Oxygen" },
37
      { "command": "oxygen.discard", "title": "Discard Changes", "category": "Oxygen", "icon": "$(discard)" },
38
      { "command": "oxygen.commitSelected", "title": "Commit Selected Paths", "category": "Oxygen" },
39
      { "command": "oxygen.commitHunks", "title": "Commit Hunks…", "category": "Oxygen" },
40
      { "command": "oxygen.amend", "title": "Amend", "category": "Oxygen" },
41
      { "command": "oxygen.undo", "title": "Undo Last Operation", "category": "Oxygen", "icon": "$(discard)" },
42
      { "command": "oxygen.undoTo", "title": "Undo to Here", "category": "Oxygen", "icon": "$(discard)" },
43
      { "command": "oxygen.refreshOperations", "title": "Refresh Operations", "category": "Oxygen", "icon": "$(refresh)" },
44
      { "command": "oxygen.switchBookmark", "title": "Switch Bookmark…", "category": "Oxygen", "icon": "$(bookmark)" },
45
      { "command": "oxygen.createBookmark", "title": "Create Bookmark…", "category": "Oxygen" },
46
      { "command": "oxygen.mergeBookmark", "title": "Merge Bookmark…", "category": "Oxygen" },
47
      { "command": "oxygen.deleteBookmark", "title": "Delete Bookmark…", "category": "Oxygen" },
48
      { "command": "oxygen.fetch", "title": "Fetch", "category": "Oxygen" },
49
      { "command": "oxygen.pull", "title": "Pull", "category": "Oxygen" },
50
      { "command": "oxygen.push", "title": "Push", "category": "Oxygen" },
51
      { "command": "oxygen.pushBookmark", "title": "Push Bookmark…", "category": "Oxygen" },
52
      { "command": "oxygen.sync", "title": "Sync", "category": "Oxygen", "icon": "$(sync)" }
53
    ],
54
    "views": {
55
      "scm": [
56
        { "id": "oxygen.operations", "name": "Oxygen Operations", "when": "oxygen.hasRepository", "icon": "assets/images/oxygen.svg", "visibility": "collapsed" }
57
      ]
58
    },
59
    "viewsWelcome": [
60
      {
61
        "view": "scm",
62
        "contents": "Oxygen is installed but found no oxy repository in the open folders.\n[Initialize Oxygen Repository](command:oxygen.init)\n[Show Oxygen Output](command:oxygen.showOutput)",
63
        "when": "workbenchState != empty && !oxygen.hasRepository"
64
      }
65
    ],
66
    "menus": {
67
      "scm/title": [
68
        { "command": "oxygen.commit", "group": "navigation@1", "when": "scmProvider == oxygen" },
69
        { "command": "oxygen.sync", "group": "navigation@2", "when": "scmProvider == oxygen" },
70
        { "command": "oxygen.refresh", "group": "navigation@3", "when": "scmProvider == oxygen" },
71
        { "command": "oxygen.pull", "group": "4_sync@1", "when": "scmProvider == oxygen" },
72
        { "command": "oxygen.push", "group": "4_sync@2", "when": "scmProvider == oxygen" },
73
        { "command": "oxygen.pushBookmark", "group": "4_sync@3", "when": "scmProvider == oxygen" },
74
        { "command": "oxygen.fetch", "group": "4_sync@4", "when": "scmProvider == oxygen" },
75
        { "command": "oxygen.switchBookmark", "group": "5_bookmarks@1", "when": "scmProvider == oxygen" },
76
        { "command": "oxygen.createBookmark", "group": "5_bookmarks@2", "when": "scmProvider == oxygen" },
77
        { "command": "oxygen.mergeBookmark", "group": "5_bookmarks@3", "when": "scmProvider == oxygen" },
78
        { "command": "oxygen.deleteBookmark", "group": "5_bookmarks@4", "when": "scmProvider == oxygen" },
79
        { "command": "oxygen.commitHunks", "group": "2_commit@1", "when": "scmProvider == oxygen" },
80
        { "command": "oxygen.amend", "group": "2_commit@2", "when": "scmProvider == oxygen" },
81
        { "command": "oxygen.undo", "group": "3_undo", "when": "scmProvider == oxygen" },
82
        { "command": "oxygen.showLog", "group": "1_view", "when": "scmProvider == oxygen" },
83
        { "command": "oxygen.showOutput", "group": "1_view", "when": "scmProvider == oxygen" }
84
      ],
85
      "scm/resourceState/context": [
86
        { "command": "oxygen.openFile", "group": "inline@1", "when": "scmProvider == oxygen" },
87
        { "command": "oxygen.discard", "group": "inline@2", "when": "scmProvider == oxygen" },
88
        { "command": "oxygen.openChanges", "group": "navigation", "when": "scmProvider == oxygen" },
89
        { "command": "oxygen.openBaseVersion", "group": "navigation", "when": "scmProvider == oxygen" },
90
        { "command": "oxygen.commitSelected", "group": "1_modification@1", "when": "scmProvider == oxygen" },
91
        { "command": "oxygen.discard", "group": "1_modification@2", "when": "scmProvider == oxygen" }
92
      ],
93
      "view/title": [
94
        { "command": "oxygen.refreshOperations", "group": "navigation", "when": "view == oxygen.operations" }
95
      ],
96
      "view/item/context": [
97
        { "command": "oxygen.undoTo", "group": "inline", "when": "view == oxygen.operations && viewItem == operation" }
98
      ],
99
      "commandPalette": [
100
        { "command": "oxygen.openFile", "when": "false" },
101
        { "command": "oxygen.openChanges", "when": "false" },
102
        { "command": "oxygen.openBaseVersion", "when": "false" },
103
        { "command": "oxygen.discard", "when": "false" },
104
        { "command": "oxygen.commitSelected", "when": "false" },
105
        { "command": "oxygen.undoTo", "when": "false" },
106
        { "command": "oxygen.refreshOperations", "when": "false" }
107
      ]
108
    },
109
    "configuration": {
110
      "title": "Oxygen",
111
      "properties": {
112
        "oxygen.path": {
113
          "type": "string",
114
          "default": "",
115
          "description": "Path to the oxy binary. Empty means oxy on PATH, then ~/.local/bin/oxy."
116
        },
117
        "oxygen.autoRefresh": {
118
          "type": "boolean",
119
          "default": true,
120
          "description": "Refresh the source control view when files in the workspace change."
121
        },
122
        "oxygen.decorations.enabled": {
123
          "type": "boolean",
124
          "default": true,
125
          "description": "Show status decorations in the explorer and on editor tabs."
126
        },
127
        "oxygen.confirmSync": {
128
          "type": "boolean",
129
          "default": true,
130
          "description": "Ask before pushing."
131
        },
132
        "oxygen.showSnapshotOperations": {
133
          "type": "boolean",
134
          "default": false,
135
          "description": "List snapshot operations in the Oxygen Operations view."
136
        },
137
        "oxygen.statusBar.enabled": {
138
          "type": "boolean",
139
          "default": true,
140
          "description": "Show the bookmark, working copy and state in the status bar."
141
        }
142
      }
143
    }
144
  },
145
  "scripts": {
146
    "build": "esbuild src/extension.ts --bundle --platform=node --format=cjs --external:vscode --outfile=dist/extension.js --sourcemap",
147
    "watch": "npm run build -- --watch",
148
    "typecheck": "tsc --noEmit -p .",
149
    "pretest": "esbuild src/oxy.ts --bundle --platform=node --format=esm --outfile=out/oxy.mjs",
150
    "test": "node --test \"test/**/*.test.mjs\"",
151
    "check": "npm run typecheck && npm run build && npm test",
152
    "package": "vsce package --no-dependencies"
153
  },
154
  "devDependencies": {
155
    "@types/node": "^24.0.0",
156
    "@types/vscode": "^1.137.0",
157
    "@vscode/vsce": "^4.0.0",
158
    "esbuild": "^0.28.0",
159
    "typescript": "^5.9.0"
160
  }
161
}