You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

616 lines
26 KiB

8 years ago
  1. {
  2. "name": "gitlens",
  3. "version": "2.2.0",
  4. "author": {
  5. "name": "Eric Amodio",
  6. "email": "eamodio@gmail.com"
  7. },
  8. "publisher": "eamodio",
  9. "engines": {
  10. "vscode": "^1.9.0"
  11. },
  12. "license": "SEE LICENSE IN LICENSE",
  13. "displayName": "GitLens",
  14. "description": "Provides Git CodeLens information (most recent commit, # of authors), on-demand inline blame annotations, status bar blame information, file & blame history explorers, and commands to compare changes",
  15. "categories": [
  16. "Other"
  17. ],
  18. "keywords": [
  19. "git",
  20. "blame",
  21. "history",
  22. "codelens",
  23. "annotation"
  24. ],
  25. "galleryBanner": {
  26. "color": "#56098c",
  27. "theme": "dark"
  28. },
  29. "icon": "images/gitlens-icon.svg",
  30. "preview": false,
  31. "homepage": "https://github.com/eamodio/vscode-gitlens/blob/master/README.md",
  32. "bugs": {
  33. "url": "https://github.com/eamodio/vscode-gitlens/issues"
  34. },
  35. "repository": {
  36. "type": "git",
  37. "url": "https://github.com/eamodio/vscode-gitlens.git"
  38. },
  39. "main": "./out/src/extension",
  40. "contributes": {
  41. "configuration": {
  42. "type": "object",
  43. "title": "GitLens configuration",
  44. "properties": {
  45. "gitlens.blame.annotation.style": {
  46. "type": "string",
  47. "default": "expanded",
  48. "enum": [
  49. "compact",
  50. "expanded",
  51. "trailing"
  52. ],
  53. "description": "Specifies the style of the blame annotations. `compact` - groups annotations to limit the repetition and also adds author and date when possible. `expanded` - shows an annotation before every line. `trailing` - shows an annotation after every line"
  54. },
  55. "gitlens.blame.annotation.highlight": {
  56. "type": "string",
  57. "default": "both",
  58. "enum": [
  59. "none",
  60. "gutter",
  61. "line",
  62. "both"
  63. ],
  64. "description": "Specifies whether and how to highlight blame annotations. `none` - no highlight. `gutter` - adds a gutter icon. `line` - adds a full-line highlight. `both` - adds both `gutter` and `line` highlights"
  65. },
  66. "gitlens.blame.annotation.sha": {
  67. "type": "boolean",
  68. "default": true,
  69. "description": "Specifies whether the commit sha will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles"
  70. },
  71. "gitlens.blame.annotation.author": {
  72. "type": "boolean",
  73. "default": true,
  74. "description": "Specifies whether the committer will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles"
  75. },
  76. "gitlens.blame.annotation.date": {
  77. "type": "string",
  78. "default": "off",
  79. "enum": [
  80. "off",
  81. "relative",
  82. "absolute"
  83. ],
  84. "description": "Specifies whether and how the commit date will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles"
  85. },
  86. "gitlens.blame.annotation.message": {
  87. "type": "boolean",
  88. "default": false,
  89. "description": "Specifies whether the commit message will be shown in the blame annotations. Applies only to the `expanded` & `trailing` annotation styles"
  90. },
  91. "gitlens.blame.annotation.activeLine": {
  92. "type": "string",
  93. "default": "both",
  94. "enum": [
  95. "off",
  96. "inline",
  97. "hover",
  98. "both"
  99. ],
  100. "description": "Specifies whether and how to show blame annotations on the active line. `off` - no annotation. `inline` - adds a trailing annotation to the active line. `hover` - adds hover annotation to the active line. `both` - adds both `inline` and `hover` annotations"
  101. },
  102. "gitlens.blame.annotation.characters.ellipse": {
  103. "type": "string",
  104. "default": "\\2026",
  105. "description": "Specifies the ellipse character to use in blame annotations"
  106. },
  107. "gitlens.blame.annotation.characters.indent": {
  108. "type": "string",
  109. "default": "\\2759",
  110. "description": "Specifies the indent character to use in `compact` blame annotations"
  111. },
  112. "gitlens.blame.annotation.characters.padding": {
  113. "type": "string",
  114. "default": "\\00a0",
  115. "description": "Specifies the padding character (typically a non-breaking space) to use in blame annotations"
  116. },
  117. "gitlens.blame.annotation.characters.separator": {
  118. "type": "string",
  119. "default": "\\2022",
  120. "description": "Specifies the separator character to use in blame annotations"
  121. },
  122. "gitlens.codeLens.visibility": {
  123. "type": "string",
  124. "default": "auto",
  125. "enum": [
  126. "auto",
  127. "ondemand",
  128. "off"
  129. ],
  130. "description": "Specifies when CodeLens will be triggered in the active document. `auto` - automatically. `ondemand` - only when requested. `off` - disables all active document CodeLens"
  131. },
  132. "gitlens.codeLens.location": {
  133. "type": "string",
  134. "default": "document+containers",
  135. "enum": [
  136. "all",
  137. "document+containers",
  138. "document",
  139. "custom"
  140. ],
  141. "description": "Specifies where CodeLens will be rendered in the active document. `all` - render at the top of the document, on container-like (classes, modules, etc), and on member-like (methods, functions, properties, etc) lines. `document+containers` - render at the top of the document and on container-like lines. `document` - only render at the top of the document. `custom` - rendering controlled by `gitlens.codeLens.locationCustomSymbols`"
  142. },
  143. "gitlens.codeLens.locationCustomSymbols": {
  144. "type": "array",
  145. "description": "Specifies the set of document symbols to render active document CodeLens on. Must be a member of `SymbolKind`"
  146. },
  147. "gitlens.codeLens.languageLocations": {
  148. "type": "array",
  149. "default": [
  150. {
  151. "language": "json",
  152. "location": "document"
  153. },
  154. {
  155. "language": "css",
  156. "location": "document"
  157. },
  158. {
  159. "language": "scss",
  160. "location": "document"
  161. },
  162. {
  163. "language": "less",
  164. "location": "document"
  165. }
  166. ],
  167. "items": {
  168. "type": "object",
  169. "required": [
  170. "language",
  171. "location"
  172. ],
  173. "properties": {
  174. "language": {
  175. "type": "string",
  176. "description": "Specifies the language to which this CodeLens override applies"
  177. },
  178. "location": {
  179. "type": "string",
  180. "default": "document+containers",
  181. "enum": [
  182. "all",
  183. "document+containers",
  184. "document",
  185. "custom",
  186. "none"
  187. ],
  188. "description": "Specifies where CodeLens will be rendered in the active document for the specified language. `all` - render at the top of the document, on container-like (classes, modules, etc), and on member-like (methods, functions, properties, etc) lines. `document+containers` - render at the top of the document and on container-like lines. `document` - only render at the top of the document. `custom` - rendering controlled by `customSymbols`"
  189. },
  190. "customSymbols": {
  191. "type": "string",
  192. "description": "Specifies the set of document symbols to render active document CodeLens on. Must be a member of `SymbolKind`"
  193. }
  194. }
  195. },
  196. "uniqueItems": true,
  197. "enum": [
  198. "all",
  199. "document+containers",
  200. "document",
  201. "custom"
  202. ],
  203. "description": "Specifies where CodeLens will be rendered in the active document for the specified languages"
  204. },
  205. "gitlens.codeLens.recentChange.enabled": {
  206. "type": "boolean",
  207. "default": true,
  208. "description": "Specifies whether the recent change CodeLens is shown"
  209. },
  210. "gitlens.codeLens.recentChange.command": {
  211. "type": "string",
  212. "default": "gitlens.showFileHistory",
  213. "enum": [
  214. "gitlens.toggleBlame",
  215. "gitlens.showBlameHistory",
  216. "gitlens.showFileHistory",
  217. "gitlens.diffWithPrevious",
  218. "gitlens.showQuickFileHistory"
  219. ],
  220. "description": "Specifies the command executed when the recent change CodeLens is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current checked-in file with the previous commit. `gitlens.showQuickFileHistory` - shows a file history picker"
  221. },
  222. "gitlens.codeLens.authors.enabled": {
  223. "type": "boolean",
  224. "default": true,
  225. "description": "Specifies whether the authors CodeLens is shown"
  226. },
  227. "gitlens.codeLens.authors.command": {
  228. "type": "string",
  229. "default": "gitlens.toggleBlame",
  230. "enum": [
  231. "gitlens.toggleBlame",
  232. "gitlens.showBlameHistory",
  233. "gitlens.showFileHistory",
  234. "gitlens.diffWithPrevious",
  235. "gitlens.showQuickFileHistory"
  236. ],
  237. "description": "Specifies the command executed when the authors CodeLens is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current checked-in file with the previous commit. `gitlens.showQuickFileHistory` - shows a file history picker"
  238. },
  239. "gitlens.menus.diff.enabled": {
  240. "type": "boolean",
  241. "default": true,
  242. "description": "Specifies whether diff commands will be added to the context menus"
  243. },
  244. "gitlens.statusBar.enabled": {
  245. "type": "boolean",
  246. "default": true,
  247. "description": "Specifies whether blame information is shown in the status bar"
  248. },
  249. "gitlens.statusBar.command": {
  250. "type": "string",
  251. "default": "gitlens.showQuickFileHistory",
  252. "enum": [
  253. "gitlens.toggleBlame",
  254. "gitlens.showBlameHistory",
  255. "gitlens.showFileHistory",
  256. "gitlens.diffWithPrevious",
  257. "gitlens.toggleCodeLens",
  258. "gitlens.showQuickFileHistory"
  259. ],
  260. "description": "Specifies the command executed when the blame status bar item is clicked. `gitlens.toggleBlame` - toggles blame annotations. `gitlens.showBlameHistory` - opens the blame history explorer. `gitlens.showFileHistory` - opens the file history explorer. `gitlens.diffWithPrevious` - compares the current checked-in file with the previous commit. `gitlens.showQuickFileHistory` - shows a file history picker"
  261. },
  262. "gitlens.advanced.caching.enabled": {
  263. "type": "boolean",
  264. "default": true,
  265. "description": "Specifies whether git blame output will be cached"
  266. },
  267. "gitlens.advanced.caching.statusBar.maxLines": {
  268. "type": "number",
  269. "default": 0,
  270. "description": "Specifies whether status bar git blame output will be cached for larger documents"
  271. },
  272. "gitlens.advanced.debug": {
  273. "type": "boolean",
  274. "default": false,
  275. "description": "Specifies debug mode"
  276. },
  277. "gitlens.advanced.git": {
  278. "type": "string",
  279. "default": null,
  280. "description": "Specifies a git path to use"
  281. },
  282. "gitlens.advanced.gitignore.enabled": {
  283. "type": "boolean",
  284. "default": true,
  285. "description": "Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files)"
  286. },
  287. "gitlens.advanced.maxQuickHistory": {
  288. "type": "number",
  289. "default": 200,
  290. "description": "Specifies the maximum number of QuickPick history entries to show"
  291. },
  292. "gitlens.advanced.output.level": {
  293. "type": "string",
  294. "default": "silent",
  295. "enum": [
  296. "silent",
  297. "errors",
  298. "verbose"
  299. ],
  300. "description": "Specifies how much (if any) output will be sent to the GitLens output channel"
  301. },
  302. "gitlens.advanced.toggleWhitespace.enabled": {
  303. "type": "boolean",
  304. "default": false,
  305. "description": "Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes)"
  306. }
  307. }
  308. },
  309. "commands": [
  310. {
  311. "command": "gitlens.diffWithPrevious",
  312. "title": "Compare with Previous Commit",
  313. "category": "GitLens"
  314. },
  315. {
  316. "command": "gitlens.diffLineWithPrevious",
  317. "title": "Compare Line with Previous Commit",
  318. "category": "GitLens"
  319. },
  320. {
  321. "command": "gitlens.diffWithWorking",
  322. "title": "Compare with Working Tree",
  323. "category": "GitLens"
  324. },
  325. {
  326. "command": "gitlens.diffLineWithWorking",
  327. "title": "Compare Line with Working Tree",
  328. "category": "GitLens"
  329. },
  330. {
  331. "command": "gitlens.showBlame",
  332. "title": "Show Blame Annotations",
  333. "category": "GitLens"
  334. },
  335. {
  336. "command": "gitlens.toggleBlame",
  337. "title": "Toggle Blame Annotations",
  338. "category": "GitLens",
  339. "icon": {
  340. "dark": "images/git-icon-dark.svg",
  341. "light": "images/git-icon-light.svg"
  342. }
  343. },
  344. {
  345. "command": "gitlens.toggleCodeLens",
  346. "title": "Toggle Git CodeLens",
  347. "category": "GitLens"
  348. },
  349. {
  350. "command": "gitlens.showBlameHistory",
  351. "title": "Open Blame History Explorer",
  352. "category": "GitLens"
  353. },
  354. {
  355. "command": "gitlens.showFileHistory",
  356. "title": "Open File History Explorer",
  357. "category": "GitLens"
  358. },
  359. {
  360. "command": "gitlens.showQuickCommitDetails",
  361. "title": "Show Commit Details",
  362. "category": "GitLens"
  363. },
  364. {
  365. "command": "gitlens.showQuickFileHistory",
  366. "title": "Show File History",
  367. "category": "GitLens"
  368. },
  369. {
  370. "command": "gitlens.showQuickRepoHistory",
  371. "title": "Show Repository History",
  372. "category": "GitLens"
  373. },
  374. {
  375. "command": "gitlens.copyShaToClipboard",
  376. "title": "Copy Commit Sha to Clipboard",
  377. "category": "GitLens"
  378. }
  379. ],
  380. "menus": {
  381. "commandPalette": [
  382. {
  383. "command": "gitlens.diffWithPrevious",
  384. "when": "gitlens:enabled"
  385. },
  386. {
  387. "command": "gitlens.diffLineWithPrevious",
  388. "when": "gitlens:enabled"
  389. },
  390. {
  391. "command": "gitlens.diffWithWorking",
  392. "when": "gitlens:enabled"
  393. },
  394. {
  395. "command": "gitlens.diffLineWithWorking",
  396. "when": "gitlens:enabled"
  397. },
  398. {
  399. "command": "gitlens.showBlame",
  400. "when": "gitlens:enabled"
  401. },
  402. {
  403. "command": "gitlens.toggleBlame",
  404. "when": "gitlens:enabled"
  405. },
  406. {
  407. "command": "gitlens.toggleCodeLens",
  408. "when": "gitlens:enabled"
  409. },
  410. {
  411. "command": "gitlens.showBlameHistory",
  412. "when": "gitlens:enabled"
  413. },
  414. {
  415. "command": "gitlens.showFileHistory",
  416. "when": "gitlens:enabled"
  417. },
  418. {
  419. "command": "gitlens.showQuickCommitDetails",
  420. "when": "gitlens:enabled"
  421. },
  422. {
  423. "command": "gitlens.showQuickFileHistory",
  424. "when": "gitlens:enabled"
  425. },
  426. {
  427. "command": "gitlens.showQuickRepoHistory",
  428. "when": "gitlens:enabled"
  429. },
  430. {
  431. "command": "gitlens.copyShaToClipboard",
  432. "when": "gitlens:enabled"
  433. }
  434. ],
  435. "explorer/context": [
  436. {
  437. "command": "gitlens.showQuickFileHistory",
  438. "when": "gitlens:enabled",
  439. "group": "gitlens"
  440. },
  441. {
  442. "command": "gitlens.diffWithPrevious",
  443. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  444. "group": "gitlens_diff"
  445. },
  446. {
  447. "command": "gitlens.diffWithWorking",
  448. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  449. "group": "gitlens_diff"
  450. }
  451. ],
  452. "editor/title": [
  453. {
  454. "command": "gitlens.toggleBlame",
  455. "when": "gitlens:enabled",
  456. "group": "navigation@100"
  457. },
  458. {
  459. "command": "gitlens.showQuickFileHistory",
  460. "when": "gitlens:enabled",
  461. "group": "1_gitlens"
  462. },
  463. {
  464. "command": "gitlens.diffWithPrevious",
  465. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  466. "group": "1_gitlens_diff"
  467. },
  468. {
  469. "command": "gitlens.diffWithWorking",
  470. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  471. "group": "1_gitlens_diff"
  472. }
  473. ],
  474. "editor/title/context": [
  475. {
  476. "command": "gitlens.toggleBlame",
  477. "when": "gitlens:enabled",
  478. "group": "gitlens@1"
  479. },
  480. {
  481. "command": "gitlens.showQuickFileHistory",
  482. "when": "gitlens:enabled",
  483. "group": "gitlens@2"
  484. }
  485. ],
  486. "editor/context": [
  487. {
  488. "command": "gitlens.diffLineWithPrevious",
  489. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  490. "group": "1_gitlens@1"
  491. },
  492. {
  493. "command": "gitlens.diffLineWithWorking",
  494. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  495. "group": "1_gitlens@2"
  496. },
  497. {
  498. "command": "gitlens.showQuickCommitDetails",
  499. "when": "editorTextFocus && gitlens:enabled",
  500. "group": "1_gitlens@3"
  501. },
  502. {
  503. "command": "gitlens.diffWithPrevious",
  504. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  505. "group": "1_gitlens-file@1"
  506. },
  507. {
  508. "command": "gitlens.diffWithWorking",
  509. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  510. "group": "1_gitlens-file@2"
  511. },
  512. {
  513. "command": "gitlens.toggleBlame",
  514. "when": "editorTextFocus && gitlens:enabled",
  515. "group": "2_gitlens@1"
  516. },
  517. {
  518. "command": "gitlens.showQuickFileHistory",
  519. "alt": "gitlens.showFileHistory",
  520. "when": "gitlens:enabled",
  521. "group": "2_gitlens@2"
  522. },
  523. {
  524. "command": "gitlens.copyShaToClipboard",
  525. "when": "editorTextFocus && gitlens:enabled",
  526. "group": "9_gitlens@1"
  527. }
  528. ]
  529. },
  530. "keybindings": [
  531. {
  532. "command": "gitlens.toggleBlame",
  533. "key": "alt+b",
  534. "mac": "alt+b",
  535. "when": "editorTextFocus"
  536. },
  537. {
  538. "command": "gitlens.toggleCodeLens",
  539. "key": "alt+shift+b",
  540. "mac": "alt+shift+b",
  541. "when": "editorTextFocus"
  542. },
  543. {
  544. "command": "gitlens.showQuickFileHistory",
  545. "key": "alt+h",
  546. "mac": "alt+h",
  547. "when": "editorTextFocus"
  548. },
  549. {
  550. "command": "gitlens.showQuickRepoHistory",
  551. "key": "shift+alt+h",
  552. "mac": "shift+alt+h"
  553. },
  554. {
  555. "command": "gitlens.showQuickCommitDetails",
  556. "key": "alt+c",
  557. "mac": "alt+c"
  558. },
  559. {
  560. "command": "gitlens.diffLineWithPrevious",
  561. "key": "alt+p",
  562. "mac": "alt+p",
  563. "when": "editorTextFocus"
  564. },
  565. {
  566. "command": "gitlens.diffWithPrevious",
  567. "key": "shift+alt+p",
  568. "mac": "shift+alt+p",
  569. "when": "editorTextFocus"
  570. },
  571. {
  572. "command": "gitlens.diffLineWithWorking",
  573. "key": "alt+w",
  574. "mac": "alt+w",
  575. "when": "editorTextFocus"
  576. },
  577. {
  578. "command": "gitlens.diffWithWorking",
  579. "key": "shift+alt+w",
  580. "mac": "shift+alt+w",
  581. "when": "editorTextFocus"
  582. }
  583. ]
  584. },
  585. "activationEvents": [
  586. "*"
  587. ],
  588. "scripts": {
  589. "compile": "tsc -watch -p ./",
  590. "lint": "tslint --project tslint.json",
  591. "pack": "git clean -xdf && npm install && vsce package",
  592. "postinstall": "node ./node_modules/vscode/bin/install",
  593. "pub": "git clean -xdf --exclude=node_modules/ && npm install && vsce publish",
  594. "vscode:prepublish": "tsc -p ./"
  595. },
  596. "dependencies": {
  597. "copy-paste": "^1.3.0",
  598. "ignore": "^3.2.2",
  599. "lodash.debounce": "^4.0.8",
  600. "lodash.escaperegexp": "^4.1.2",
  601. "lodash.isequal": "^4.5.0",
  602. "lodash.once": "^4.1.1",
  603. "moment": "^2.17.1",
  604. "spawn-rx": "^2.0.8",
  605. "tmp": "^0.0.31"
  606. },
  607. "devDependencies": {
  608. "@types/copy-paste": "^1.1.30",
  609. "@types/node": "^7.0.5",
  610. "@types/mocha": "^2.2.39",
  611. "@types/tmp": "^0.0.32",
  612. "mocha": "^3.2.0",
  613. "tslint": "^4.4.2",
  614. "typescript": "^2.1.6",
  615. "vscode": "^1.0.3"
  616. }
  617. }