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.

663 lines
29 KiB

7 years ago
8 years ago
  1. {
  2. "name": "gitlens",
  3. "version": "2.6.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": "\u2026",
  105. "description": "Specifies the ellipse character to use in blame annotations"
  106. },
  107. "gitlens.blame.annotation.characters.indent": {
  108. "type": "string",
  109. "default": "\u2759",
  110. "description": "Specifies the indent character to use in `compact` blame annotations"
  111. },
  112. "gitlens.blame.annotation.characters.padding": {
  113. "type": "string",
  114. "default": "\u00a0",
  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": "\u2022",
  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.showQuickCommitDetails",
  213. "enum": [
  214. "gitlens.toggleBlame",
  215. "gitlens.showBlameHistory",
  216. "gitlens.showFileHistory",
  217. "gitlens.diffWithPrevious",
  218. "gitlens.showQuickCommitDetails",
  219. "gitlens.showQuickFileHistory",
  220. "gitlens.showQuickRepoHistory"
  221. ],
  222. "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.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickFileHistory` - shows a repository history quick pick"
  223. },
  224. "gitlens.codeLens.authors.enabled": {
  225. "type": "boolean",
  226. "default": true,
  227. "description": "Specifies whether the authors CodeLens is shown"
  228. },
  229. "gitlens.codeLens.authors.command": {
  230. "type": "string",
  231. "default": "gitlens.toggleBlame",
  232. "enum": [
  233. "gitlens.toggleBlame",
  234. "gitlens.showBlameHistory",
  235. "gitlens.showFileHistory",
  236. "gitlens.diffWithPrevious",
  237. "gitlens.showQuickCommitDetails",
  238. "gitlens.showQuickFileHistory",
  239. "gitlens.showQuickRepoHistory"
  240. ],
  241. "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.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickFileHistory` - shows a repository history quick pick"
  242. },
  243. "gitlens.menus.diff.enabled": {
  244. "type": "boolean",
  245. "default": true,
  246. "description": "Specifies whether diff commands will be added to the context menus"
  247. },
  248. "gitlens.statusBar.enabled": {
  249. "type": "boolean",
  250. "default": true,
  251. "description": "Specifies whether blame information is shown in the status bar"
  252. },
  253. "gitlens.statusBar.command": {
  254. "type": "string",
  255. "default": "gitlens.showQuickCommitDetails",
  256. "enum": [
  257. "gitlens.toggleBlame",
  258. "gitlens.showBlameHistory",
  259. "gitlens.showFileHistory",
  260. "gitlens.diffWithPrevious",
  261. "gitlens.toggleCodeLens",
  262. "gitlens.showQuickCommitDetails",
  263. "gitlens.showQuickFileHistory",
  264. "gitlens.showQuickRepoHistory"
  265. ],
  266. "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.showQuickCommitDetails` - shows a commit details quick pick. `gitlens.showQuickFileHistory` - shows a file history quick pick. `gitlens.showQuickFileHistory` - shows a repository history quick pick"
  267. },
  268. "gitlens.advanced.caching.enabled": {
  269. "type": "boolean",
  270. "default": true,
  271. "description": "Specifies whether git blame output will be cached"
  272. },
  273. "gitlens.advanced.caching.statusBar.maxLines": {
  274. "type": "number",
  275. "default": 0,
  276. "description": "Specifies whether status bar git blame output will be cached for larger documents"
  277. },
  278. "gitlens.advanced.debug": {
  279. "type": "boolean",
  280. "default": false,
  281. "description": "Specifies debug mode"
  282. },
  283. "gitlens.advanced.git": {
  284. "type": "string",
  285. "default": null,
  286. "description": "Specifies a git path to use"
  287. },
  288. "gitlens.advanced.gitignore.enabled": {
  289. "type": "boolean",
  290. "default": true,
  291. "description": "Specifies whether or not to parse the root .gitignore file for better performance (i.e. avoids blaming excluded files)"
  292. },
  293. "gitlens.advanced.maxQuickHistory": {
  294. "type": "number",
  295. "default": 200,
  296. "description": "Specifies the maximum number of QuickPick history entries to show"
  297. },
  298. "gitlens.advanced.output.level": {
  299. "type": "string",
  300. "default": "silent",
  301. "enum": [
  302. "silent",
  303. "errors",
  304. "verbose"
  305. ],
  306. "description": "Specifies how much (if any) output will be sent to the GitLens output channel"
  307. },
  308. "gitlens.advanced.quickPick.closeOnFocusOut": {
  309. "type": "boolean",
  310. "default": true,
  311. "description": "Specifies whether or not to close the QuickPick menu when focus is lost"
  312. },
  313. "gitlens.advanced.toggleWhitespace.enabled": {
  314. "type": "boolean",
  315. "default": false,
  316. "description": "Specifies whether or not to toggle whitespace off then showing blame annotations (*may* be required by certain fonts/themes)"
  317. }
  318. }
  319. },
  320. "commands": [
  321. {
  322. "command": "gitlens.diffWithPrevious",
  323. "title": "Compare with Previous Commit",
  324. "category": "GitLens"
  325. },
  326. {
  327. "command": "gitlens.diffLineWithPrevious",
  328. "title": "Compare Line with Previous Commit",
  329. "category": "GitLens"
  330. },
  331. {
  332. "command": "gitlens.diffWithWorking",
  333. "title": "Compare with Working Tree",
  334. "category": "GitLens"
  335. },
  336. {
  337. "command": "gitlens.diffLineWithWorking",
  338. "title": "Compare Line with Working Tree",
  339. "category": "GitLens"
  340. },
  341. {
  342. "command": "gitlens.showBlame",
  343. "title": "Show Blame Annotations",
  344. "category": "GitLens"
  345. },
  346. {
  347. "command": "gitlens.toggleBlame",
  348. "title": "Toggle Blame Annotations",
  349. "category": "GitLens",
  350. "icon": {
  351. "dark": "images/git-icon-dark.svg",
  352. "light": "images/git-icon-light.svg"
  353. }
  354. },
  355. {
  356. "command": "gitlens.toggleCodeLens",
  357. "title": "Toggle Git CodeLens",
  358. "category": "GitLens"
  359. },
  360. {
  361. "command": "gitlens.showBlameHistory",
  362. "title": "Open Blame History Explorer",
  363. "category": "GitLens"
  364. },
  365. {
  366. "command": "gitlens.showFileHistory",
  367. "title": "Open File History Explorer",
  368. "category": "GitLens"
  369. },
  370. {
  371. "command": "gitlens.showQuickCommitDetails",
  372. "title": "Show Commit Details",
  373. "category": "GitLens"
  374. },
  375. {
  376. "command": "gitlens.showQuickFileHistory",
  377. "title": "Show File History",
  378. "category": "GitLens"
  379. },
  380. {
  381. "command": "gitlens.showQuickRepoHistory",
  382. "title": "Show Repository History",
  383. "category": "GitLens"
  384. },
  385. {
  386. "command": "gitlens.showQuickRepoStatus",
  387. "title": "Show Repository Status",
  388. "category": "GitLens"
  389. },
  390. {
  391. "command": "gitlens.copyShaToClipboard",
  392. "title": "Copy Commit Sha to Clipboard",
  393. "category": "GitLens"
  394. },
  395. {
  396. "command": "gitlens.copyMessageToClipboard",
  397. "title": "Copy Commit Message to Clipboard",
  398. "category": "GitLens"
  399. }
  400. ],
  401. "menus": {
  402. "commandPalette": [
  403. {
  404. "command": "gitlens.diffWithPrevious",
  405. "when": "gitlens:enabled"
  406. },
  407. {
  408. "command": "gitlens.diffLineWithPrevious",
  409. "when": "gitlens:enabled"
  410. },
  411. {
  412. "command": "gitlens.diffWithWorking",
  413. "when": "gitlens:enabled"
  414. },
  415. {
  416. "command": "gitlens.diffLineWithWorking",
  417. "when": "gitlens:enabled"
  418. },
  419. {
  420. "command": "gitlens.showBlame",
  421. "when": "gitlens:enabled"
  422. },
  423. {
  424. "command": "gitlens.toggleBlame",
  425. "when": "gitlens:enabled"
  426. },
  427. {
  428. "command": "gitlens.toggleCodeLens",
  429. "when": "gitlens:enabled"
  430. },
  431. {
  432. "command": "gitlens.showBlameHistory",
  433. "when": "gitlens:enabled"
  434. },
  435. {
  436. "command": "gitlens.showFileHistory",
  437. "when": "gitlens:enabled"
  438. },
  439. {
  440. "command": "gitlens.showQuickCommitDetails",
  441. "when": "gitlens:enabled"
  442. },
  443. {
  444. "command": "gitlens.showQuickFileHistory",
  445. "when": "gitlens:enabled"
  446. },
  447. {
  448. "command": "gitlens.showQuickRepoHistory",
  449. "when": "gitlens:enabled"
  450. },
  451. {
  452. "command": "gitlens.showQuickRepoStatus",
  453. "when": "gitlens:enabled"
  454. },
  455. {
  456. "command": "gitlens.copyShaToClipboard",
  457. "when": "gitlens:enabled"
  458. },
  459. {
  460. "command": "gitlens.copyMessageToClipboard",
  461. "when": "gitlens:enabled"
  462. }
  463. ],
  464. "explorer/context": [
  465. {
  466. "command": "gitlens.showQuickFileHistory",
  467. "when": "gitlens:enabled",
  468. "group": "gitlens"
  469. },
  470. {
  471. "command": "gitlens.diffWithPrevious",
  472. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  473. "group": "gitlens_diff"
  474. },
  475. {
  476. "command": "gitlens.diffWithWorking",
  477. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  478. "group": "gitlens_diff"
  479. }
  480. ],
  481. "editor/title": [
  482. {
  483. "command": "gitlens.toggleBlame",
  484. "when": "gitlens:enabled",
  485. "group": "navigation@100"
  486. },
  487. {
  488. "command": "gitlens.showQuickFileHistory",
  489. "when": "gitlens:enabled",
  490. "group": "1_gitlens@1"
  491. },
  492. {
  493. "command": "gitlens.showQuickRepoStatus",
  494. "when": "gitlens:enabled",
  495. "group": "1_gitlens@2"
  496. },
  497. {
  498. "command": "gitlens.diffWithPrevious",
  499. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  500. "group": "1_gitlens_diff"
  501. },
  502. {
  503. "command": "gitlens.diffWithWorking",
  504. "when": "config.gitlens.menus.diff.enabled && gitlens:enabled",
  505. "group": "1_gitlens_diff"
  506. }
  507. ],
  508. "editor/title/context": [
  509. {
  510. "command": "gitlens.toggleBlame",
  511. "when": "gitlens:enabled",
  512. "group": "gitlens@1"
  513. },
  514. {
  515. "command": "gitlens.showQuickFileHistory",
  516. "when": "gitlens:enabled",
  517. "group": "gitlens@2"
  518. }
  519. ],
  520. "editor/context": [
  521. {
  522. "command": "gitlens.diffLineWithPrevious",
  523. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  524. "group": "1_gitlens@1"
  525. },
  526. {
  527. "command": "gitlens.diffLineWithWorking",
  528. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  529. "group": "1_gitlens@2"
  530. },
  531. {
  532. "command": "gitlens.showQuickCommitDetails",
  533. "when": "editorTextFocus && gitlens:enabled",
  534. "group": "1_gitlens@3"
  535. },
  536. {
  537. "command": "gitlens.diffWithPrevious",
  538. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  539. "group": "1_gitlens-file@1"
  540. },
  541. {
  542. "command": "gitlens.diffWithWorking",
  543. "when": "editorTextFocus && config.gitlens.menus.diff.enabled && gitlens:enabled",
  544. "group": "1_gitlens-file@2"
  545. },
  546. {
  547. "command": "gitlens.toggleBlame",
  548. "when": "editorTextFocus && gitlens:enabled",
  549. "group": "2_gitlens@1"
  550. },
  551. {
  552. "command": "gitlens.showQuickFileHistory",
  553. "alt": "gitlens.showFileHistory",
  554. "when": "gitlens:enabled",
  555. "group": "2_gitlens@2"
  556. },
  557. {
  558. "command": "gitlens.copyShaToClipboard",
  559. "when": "editorTextFocus && gitlens:enabled",
  560. "group": "9_gitlens@1"
  561. },
  562. {
  563. "command": "gitlens.copyMessageToClipboard",
  564. "when": "editorTextFocus && gitlens:enabled",
  565. "group": "9_gitlens@2"
  566. }
  567. ]
  568. },
  569. "keybindings": [
  570. {
  571. "command": "gitlens.toggleBlame",
  572. "key": "alt+b",
  573. "mac": "alt+b",
  574. "when": "editorTextFocus && gitlens:enabled"
  575. },
  576. {
  577. "command": "gitlens.toggleCodeLens",
  578. "key": "alt+shift+b",
  579. "mac": "alt+shift+b",
  580. "when": "editorTextFocus && gitlens:enabled"
  581. },
  582. {
  583. "command": "gitlens.showQuickFileHistory",
  584. "key": "alt+h",
  585. "mac": "alt+h",
  586. "when": "gitlens:enabled"
  587. },
  588. {
  589. "command": "gitlens.showQuickRepoHistory",
  590. "key": "shift+alt+h",
  591. "mac": "shift+alt+h",
  592. "when": "gitlens:enabled"
  593. },
  594. {
  595. "command": "gitlens.showQuickRepoStatus",
  596. "key": "alt+s",
  597. "mac": "alt+s",
  598. "when": "gitlens:enabled"
  599. },
  600. {
  601. "command": "gitlens.showQuickCommitDetails",
  602. "key": "alt+c",
  603. "mac": "alt+c",
  604. "when": "editorTextFocus && gitlens:enabled"
  605. },
  606. {
  607. "command": "gitlens.diffLineWithPrevious",
  608. "key": "alt+p",
  609. "mac": "alt+p",
  610. "when": "editorTextFocus && gitlens:enabled"
  611. },
  612. {
  613. "command": "gitlens.diffWithPrevious",
  614. "key": "shift+alt+p",
  615. "mac": "shift+alt+p",
  616. "when": "editorTextFocus && gitlens:enabled"
  617. },
  618. {
  619. "command": "gitlens.diffLineWithWorking",
  620. "key": "alt+w",
  621. "mac": "alt+w",
  622. "when": "editorTextFocus && gitlens:enabled"
  623. },
  624. {
  625. "command": "gitlens.diffWithWorking",
  626. "key": "shift+alt+w",
  627. "mac": "shift+alt+w",
  628. "when": "editorTextFocus && gitlens:enabled"
  629. }
  630. ]
  631. },
  632. "activationEvents": [
  633. "*"
  634. ],
  635. "scripts": {
  636. "compile": "tsc -watch -p ./",
  637. "lint": "tslint --project tslint.json",
  638. "pack": "git clean -xdf && npm install && vsce package",
  639. "postinstall": "node ./node_modules/vscode/bin/install",
  640. "pub": "git clean -xdf --exclude=node_modules/ && npm install && vsce publish",
  641. "vscode:prepublish": "tsc -p ./"
  642. },
  643. "dependencies": {
  644. "copy-paste": "^1.3.0",
  645. "ignore": "^3.2.4",
  646. "lodash.debounce": "^4.0.8",
  647. "lodash.escaperegexp": "^4.1.2",
  648. "lodash.isequal": "^4.5.0",
  649. "lodash.once": "^4.1.1",
  650. "moment": "^2.17.1",
  651. "spawn-rx": "^2.0.8",
  652. "tmp": "^0.0.31"
  653. },
  654. "devDependencies": {
  655. "@types/copy-paste": "^1.1.30",
  656. "@types/mocha": "^2.2.39",
  657. "@types/node": "^7.0.5",
  658. "@types/tmp": "^0.0.32",
  659. "mocha": "^3.2.0",
  660. "tslint": "^4.4.2",
  661. "typescript": "^2.2.1",
  662. "vscode": "^1.0.3"
  663. }
  664. }