{
  "name": "coc-git",
  "version": "2.7.12",
  "description": "Git extension for coc.nvim",
  "main": "lib/index.js",
  "publisher": "chemzqm",
  "keywords": [
    "coc.nvim",
    "git"
  ],
  "engines": {
    "coc": "^0.0.82"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/neoclide/coc-git.git"
  },
  "scripts": {
    "prepare": "node esbuild.js",
    "build": "node esbuild.js",
    "lint": "tsc -p tsconfig.json",
    "test": "coc-test 'test/**/*.test.ts'",
    "test:nvim": "coc-test --nvim 'test/**/*.test.ts'",
    "test:vim": "coc-test --vim 'test/**/*.test.ts'"
  },
  "activationEvents": [
    "*"
  ],
  "contributes": {
    "commands": [
      {
        "title": "Refresh git information for all buffers.",
        "command": "git.refresh"
      },
      {
        "title": "Open changed files from Git status in a TreeView.",
        "command": "git.statusTree"
      },
      {
        "title": "Navigate to the next changed chunk.",
        "command": "git.nextChunk"
      },
      {
        "title": "Navigate to the previous changed chunk.",
        "command": "git.prevChunk"
      },
      {
        "title": "Keep the current part of the merge conflict.",
        "command": "git.keepCurrent"
      },
      {
        "title": "Keep the incoming part of the merge conflict.",
        "command": "git.keepIncoming"
      },
      {
        "title": "Keep both parts of the merge conflict.",
        "command": "git.keepBoth"
      },
      {
        "title": "Show chunk info under cursor",
        "command": "git.chunkInfo"
      },
      {
        "title": "Return all changed chunks in the current buffer.",
        "command": "git.allChunkInfo"
      },
      {
        "title": "Stage current chunk.",
        "command": "git.chunkStage"
      },
      {
        "title": "Unstage chunk that contains current line",
        "command": "git.chunkUnstage"
      },
      {
        "title": "Undo current chunk.",
        "command": "git.chunkUndo"
      },
      {
        "title": "Show commit of current chunk.",
        "command": "git.showCommit"
      },
      {
        "title": "Show commit of current line in TreeView.",
        "command": "git.showCommitTree"
      },
      {
        "title": "Open current line in browser, github url supported.",
        "command": "git.browserOpen"
      },
      {
        "title": "Copy url of current line to clipboard, github url supported.",
        "command": "git.copyUrl"
      },
      {
        "title": "Copy permalink of current line to clipboard, github url supported.",
        "command": "git.copyPermalink"
      },
      {
        "title": "Show cached diff in preview window.",
        "command": "git.diffCached"
      },
      {
        "title": "Fold unchanged lines of current buffer.",
        "command": "git.foldUnchanged"
      },
      {
        "title": "Toggle git gutters in sign column.",
        "command": "git.toggleGutters"
      },
      {
        "title": "Push code of current branch to remote",
        "command": "git.push"
      },
      {
        "title": "Show git blame info in float or popup window",
        "command": "git.showBlameDoc"
      }
    ],
    "configuration": {
      "type": "object",
      "properties": {
        "git.command": {
          "type": "string",
          "default": "git",
          "scope": "application",
          "description": "Command for git, could be absolute path of git executable."
        },
        "git.remoteName": {
          "type": "string",
          "default": "origin",
          "scope": "window",
          "description": "Remote name for fetch github issues."
        },
        "git.diffOptions": {
          "type": "array",
          "default": [],
          "description": "Options for git diff command, eg: [\"--ignore-all-space\"]",
          "scope": "window",
          "items": {
            "type": "string"
          }
        },
        "git.foldContext": {
          "type": "number",
          "default": 0,
          "scope": "window",
          "description": "Line count to leave below and above the fold."
        },
        "git.browserRemoteName": {
          "type": "string",
          "default": "",
          "scope": "window",
          "description": "Remote name for browserOpen and copyUrl."
        },
        "git.browserBranchName": {
          "type": "string",
          "default": "",
          "scope": "window",
          "description": "Branch name for browserOpen and copyUrl."
        },
        "git.urlFix": {
          "type": "object",
          "default": {},
          "scope": "application",
          "examples": [
            {
              "gitlab.org": [
                "blob|-/blob",
                "blob|-/blob"
              ],
              "gitea.com": [
                "blob|src/branch",
                "blob|src/commit"
              ],
              "gerrit.with.gitiles": [
                "(.*)/a/(.*)/blob/(.*)#L(.*)|$1/plugins/gitiles/$2/+/refs/heads/$3#$4",
                "(.*)/a/(.*)/blob/(.*)#L(.*)|$1/plugins/gitiles/$2/+/$3#$4"
              ]
            }
          ],
          "format": "{\"git-service-1's domain\":[\"fix-for-normal-url\",\"fix-for-permalink\"],\"git-service-2's domain\":...}",
          "description": "A fix is a string, like \"pattern|replacement\" show in examples sessions, use to transform github style url to whatever you like. copyUrl will run url.replace(pattern,replacement) after generate a github style url. Example configuration make browserOpen and copyUrl work with gitlab, gitea and gerrit with gitiles."
        },
        "git.diffRevision": {
          "type": "string",
          "default": "",
          "scope": "window",
          "description": "Revision used as the gutter diff base, default is the current index."
        },
        "git.issueFormat": {
          "type": "string",
          "scope": "application",
          "default": "#%i",
          "description": "Formatting string for issue completion. Supported interpolation variables: %i - issue id. %r - repository name. %o - organization/owner name. %t - issue title. %b - issue body. %c - issue created at. %a - issue author. %u - issue url."
        },
        "git.virtualTextPrefix": {
          "type": "string",
          "default": "     ",
          "scope": "application",
          "description": "Prefix of git blame information to virtual text, require virtual text feature of vim/neovim."
        },
        "git.blameFormat": {
          "type": "string",
          "default": "(%a %t) %s",
          "scope": "window",
          "description": "Format of git blame virtual text. Supported placeholders: %a author, %t time, %s summary, %S short sha, %% literal percent."
        },
        "git.addGBlameToVirtualText": {
          "type": "boolean",
          "default": false,
          "scope": "window",
          "description": "Add git blame information to virtual text, require virtual text feature of vim/neovim."
        },
        "git.addGBlameToBufferVar": {
          "type": "boolean",
          "default": false,
          "scope": "window",
          "description": "Add git blame information to b:coc_git_blame."
        },
        "git.blameUseRealTime": {
          "type": "boolean",
          "default": false,
          "scope": "window",
          "description": "use real time in git blame info"
        },
        "git.branchCharacter": {
          "type": "string",
          "default": "",
          "scope": "application",
          "description": "Branch character used with g:coc_git_status"
        },
        "git.changedDecorator": {
          "type": "string",
          "default": "*",
          "scope": "application",
          "description": "Git changed decorator used with g:coc_git_status"
        },
        "git.conflictedDecorator": {
          "type": "string",
          "default": "x",
          "scope": "application",
          "description": "Git conflicted decorator used with g:coc_git_status"
        },
        "git.stagedDecorator": {
          "type": "string",
          "default": "●",
          "scope": "application",
          "description": "Git staged decorator used with g:coc_git_status"
        },
        "git.untrackedDecorator": {
          "type": "string",
          "default": "…",
          "scope": "application",
          "description": "Git untracked decorator used with g:coc_git_status"
        },
        "git.enableGlobalStatus": {
          "type": "boolean",
          "default": true,
          "scope": "window",
          "description": "Enable global g:coc_git_status."
        },
        "git.enableGutters": {
          "type": "boolean",
          "default": true,
          "scope": "window",
          "description": "Enable gutters in sign column."
        },
        "git.realtimeGutters": {
          "type": "boolean",
          "default": true,
          "scope": "window",
          "description": "Update gutters in realtime, default: true."
        },
        "git.enableStagedGutters": {
          "type": "boolean",
          "default": false,
          "scope": "window",
          "description": "Show staged changes in the sign column."
        },
        "git.signPriority": {
          "type": "number",
          "default": 10,
          "scope": "application",
          "description": "Priority of sign gutters, default to 10."
        },
        "git.stagedSignPriority": {
          "type": "number",
          "default": 9,
          "scope": "window",
          "description": "Priority of staged gutter signs."
        },
        "git.pushArguments": {
          "type": "array",
          "default": [],
          "description": "Default arguments used for the git.push command, ex: [\"--force-with-lease\"]",
          "scope": "window",
          "items": {
            "type": "string"
          }
        },
        "git.changedSign.text": {
          "type": "string",
          "default": "~",
          "scope": "application",
          "description": "Text of changed sign."
        },
        "git.changedSign.hlGroup": {
          "type": "string",
          "default": "DiffChange",
          "scope": "application",
          "description": "Highlight group for changed sign."
        },
        "git.addedSign.text": {
          "type": "string",
          "default": "+",
          "scope": "application",
          "description": "Text of added sign."
        },
        "git.addedSign.hlGroup": {
          "type": "string",
          "default": "DiffAdd",
          "scope": "application",
          "description": "Highlight group for added sign."
        },
        "git.removedSign.text": {
          "type": "string",
          "default": "_",
          "scope": "application",
          "description": "Text of removed sign."
        },
        "git.removedSign.hlGroup": {
          "type": "string",
          "default": "DiffDelete",
          "scope": "application",
          "description": "Highlight group for removed sign."
        },
        "git.topRemovedSign.text": {
          "type": "string",
          "default": "‾",
          "scope": "application",
          "description": "Text of top removed sign."
        },
        "git.topRemovedSign.hlGroup": {
          "type": "string",
          "default": "DiffDelete",
          "scope": "application",
          "description": "Highlight group for top removed sign."
        },
        "git.changeRemovedSign.text": {
          "type": "string",
          "default": "≃",
          "scope": "application",
          "description": "Text of change removed sign."
        },
        "git.changeRemovedSign.hlGroup": {
          "type": "string",
          "default": "DiffChange",
          "scope": "application",
          "description": "Highlight group for change removed sign."
        },
        "git.stagedAddedSign.text": {
          "type": "string",
          "default": "┃"
        },
        "git.stagedAddedSign.hlGroup": {
          "type": "string",
          "default": "CocGitStagedAdd"
        },
        "git.stagedChangedSign.text": {
          "type": "string",
          "default": "┃"
        },
        "git.stagedChangedSign.hlGroup": {
          "type": "string",
          "default": "CocGitStagedChange"
        },
        "git.stagedRemovedSign.text": {
          "type": "string",
          "default": "╻"
        },
        "git.stagedRemovedSign.hlGroup": {
          "type": "string",
          "default": "CocGitStagedDelete"
        },
        "git.mixedSign.text": {
          "type": "string",
          "default": "┋"
        },
        "git.mixedSign.hlGroup": {
          "type": "string",
          "default": "CocGitMixed"
        },
        "git.semanticCommit.filetypes": {
          "type": [
            "array",
            "null"
          ],
          "default": [
            "gitcommit",
            "gina-commit"
          ],
          "scope": "application",
          "description": "Enabled filetypes",
          "items": {
            "type": "string"
          }
        },
        "git.semanticCommit.scope": {
          "type": "boolean",
          "default": true,
          "scope": "application",
          "description": "Commit message with scope field"
        },
        "git.splitWindowCommand": {
          "type": "string",
          "default": "above sp",
          "scope": "application",
          "description": "Command used when split new window for show commit."
        },
        "git.commitFiles.splitCommand": {
          "type": "string",
          "default": "belowright 40vs",
          "scope": "application",
          "description": "Command used to open the changed-files TreeView for a commit."
        },
        "git.statusTree.splitCommand": {
          "type": "string",
          "default": "belowright 40vs",
          "scope": "application",
          "description": "Command used to open the Git status TreeView."
        },
        "git.showCommitInFloating": {
          "type": "boolean",
          "default": false,
          "scope": "application",
          "description": "Show commit in floating or popup window"
        },
        "git.floatConfig": {
          "type": "object",
          "default": {},
          "description": "Configure style of float window/popup, extends from floatFactory.floatConfig",
          "additionalProperties": false,
          "scope": "application",
          "properties": {
            "border": {
              "type": "boolean",
              "default": false,
              "description": "Set to true to use borders."
            },
            "rounded": {
              "type": "boolean",
              "default": false,
              "description": "Use rounded borders when border is true."
            },
            "highlight": {
              "type": "string",
              "default": "CocFloating",
              "description": "Background highlight group of float window."
            },
            "title": {
              "type": "string",
              "default": "",
              "description": "Title used by float window."
            },
            "borderhighlight": {
              "type": "string",
              "default": "CocFloating",
              "description": "Border highlight group of float window."
            },
            "close": {
              "type": "boolean",
              "default": false,
              "description": "Set to true to draw close icon"
            },
            "maxWidth": {
              "type": "integer",
              "description": "Maximum width of float window, include border."
            },
            "maxHeight": {
              "type": "integer",
              "minimum": 2,
              "description": "Maximum height of float window, include border."
            },
            "focusable": {
              "type": "boolean",
              "default": true,
              "description": "Enable focus by user actions (wincmds, mouse events), neovim only."
            },
            "shadow": {
              "type": "boolean",
              "default": false,
              "description": "Drop shadow effect by blending with the background, neovim only."
            },
            "winblend": {
              "type": "integer",
              "default": 0,
              "minimum": 0,
              "maximum": 100,
              "description": "Enables pseudo-transparency by set 'winblend' option of window, neovim only."
            }
          }
        },
        "git.gitlab.hosts": {
          "type": "array",
          "scope": "window",
          "default": [
            "gitlab.com"
          ],
          "description": "Custom GitLab hosts",
          "items": {
            "type": "string"
          }
        },
        "git.conflict.enabled": {
          "type": "boolean",
          "scope": "application",
          "default": true,
          "description": "Enable highlight conflict lines."
        },
        "git.conflict.current.hlGroup": {
          "type": "string",
          "default": "DiffChange",
          "scope": "application",
          "description": "Highlight group for the current version of a merge conflict."
        },
        "git.conflict.incoming.hlGroup": {
          "type": "string",
          "default": "DiffAdd",
          "scope": "application",
          "description": "Highlight group for the incoming version of a merge conflict."
        },
        "git.conflict.common.hlGroup": {
          "type": "string",
          "default": "DiffText",
          "scope": "application",
          "description": "Highlight group for the merged common ancestors highlight group."
        },
        "git.gstatus.saveBeforeOpen": {
          "type": "boolean",
          "default": false,
          "scope": "application",
          "description": "Auto save opened files before open list."
        },
        "coc.source.issues.enable": {
          "type": "boolean",
          "scope": "application",
          "default": true
        },
        "coc.source.issues.triggerCharacters": {
          "type": "array",
          "default": [
            "#"
          ],
          "scope": "application",
          "items": {
            "type": "string"
          }
        },
        "coc.source.issues.priority": {
          "type": "integer",
          "scope": "application",
          "default": 99
        },
        "coc.source.issues.shortcut": {
          "type": "string",
          "scope": "application",
          "default": "[I]"
        },
        "coc.source.issues.filetypes": {
          "type": [
            "array",
            "null"
          ],
          "default": [
            "gitcommit",
            "gina-commit"
          ],
          "description": "Enabled filetypes",
          "scope": "application",
          "items": {
            "type": "string"
          }
        }
      }
    }
  },
  "coc-test": {
    "entryFile": "src/index.ts"
  },
  "author": "chemzqm@gmail.com",
  "license": "MIT",
  "devDependencies": {
    "@chemzqm/tsconfig": "^0.0.3",
    "@types/colors": "^1.2.1",
    "@types/debounce": "^1.2.0",
    "@types/node": "^20.19.43",
    "@types/uuid": "^7.0.1",
    "@types/which": "^1.3.2",
    "coc-test": "^0.1.5",
    "coc.nvim": "^0.0.83-next.25",
    "colors": "^1.4.0",
    "debounce": "^1.2.0",
    "esbuild": "^0.25.0",
    "iconv-lite": "^0.6.2",
    "semver": "^7.7.1",
    "timeago.js": "^4.0.2",
    "typescript": "^6.0.3",
    "uuid": "^11.1.1",
    "which": "^2.0.2"
  }
}
