source: frontend/node_modules/launch-editor/get-args.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.0 KB
Line 
1const path = require('path')
2
3// normalize file/line numbers into command line args for specific editors
4module.exports = function getArgumentsForPosition (
5 editor,
6 fileName,
7 lineNumber,
8 columnNumber = 1
9) {
10 const editorBasename = path.basename(editor).replace(/\.(exe|cmd|bat)$/i, '')
11 switch (editorBasename) {
12 case 'atom':
13 case 'Atom':
14 case 'Atom Beta':
15 case 'subl':
16 case 'sublime':
17 case 'sublime_text':
18 case 'wstorm':
19 case 'charm':
20 case 'zed':
21 return [`${fileName}:${lineNumber}:${columnNumber}`]
22 case 'notepad++':
23 return ['-n' + lineNumber, '-c' + columnNumber, fileName]
24 case 'vim':
25 case 'mvim':
26 return [`+call cursor(${lineNumber}, ${columnNumber})`, fileName]
27 case 'joe':
28 case 'gvim':
29 return ['+' + `${lineNumber}`, fileName]
30 case 'emacs':
31 case 'emacsclient':
32 return [`+${lineNumber}:${columnNumber}`, fileName]
33 case 'rmate':
34 case 'mate':
35 case 'mine':
36 return ['--line', lineNumber, fileName]
37 case 'code':
38 case 'Code':
39 case 'code-insiders':
40 case 'Code - Insiders':
41 case 'codium':
42 case 'trae':
43 case 'antigravity':
44 case 'cursor':
45 case 'vscodium':
46 case 'VSCodium':
47 return ['-r', '-g', `${fileName}:${lineNumber}:${columnNumber}`]
48 case 'appcode':
49 case 'clion':
50 case 'clion64':
51 case 'idea':
52 case 'idea64':
53 case 'phpstorm':
54 case 'phpstorm64':
55 case 'pycharm':
56 case 'pycharm64':
57 case 'rubymine':
58 case 'rubymine64':
59 case 'webstorm':
60 case 'webstorm64':
61 case 'goland':
62 case 'goland64':
63 case 'rider':
64 case 'rider64':
65 return ['--line', lineNumber, '--column', columnNumber, fileName]
66 }
67
68 if (process.env.LAUNCH_EDITOR) {
69 return [fileName, lineNumber, columnNumber]
70 }
71
72 // For all others, drop the lineNumber until we have
73 // a mapping above, since providing the lineNumber incorrectly
74 // can result in errors or confusing behavior.
75 return [fileName]
76}
Note: See TracBrowser for help on using the repository browser.