Skip to content

Commit 13f0f37

Browse files
committed
Add ability to configure plugins
1 parent 9b32c3b commit 13f0f37

File tree

2 files changed

+156
-0
lines changed

2 files changed

+156
-0
lines changed

lib/main.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ class PythonLanguageClient extends AutoLanguageClient {
1818
return "pyls";
1919
}
2020

21+
postInitialization({ connection }) {
22+
this._disposable.add(
23+
atom.config.observe("ide-python.pylsPlugins", params => {
24+
connection.didChangeConfiguration({
25+
settings: { pyls: { plugins: params } }
26+
});
27+
})
28+
);
29+
}
30+
2131
async startServerProcess(projectPath) {
2232
const env = await shellEnv();
2333
const childProcess = cp.spawn(atom.config.get("ide-python.pylsPath"), {

package.json

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,155 @@
2424
"configSchema": {
2525
"pylsPath": {
2626
"title": "Python Language Server Path",
27+
"order": 1,
2728
"type": "string",
2829
"default": "pyls",
2930
"description": "Absolute path to ```pyls``` executable."
31+
},
32+
"pylsPlugins": {
33+
"title": "Python Language Server Plugins",
34+
"type": "object",
35+
"properties": {
36+
"jedi_completion": {
37+
"title": "Jedi Completion",
38+
"type": "object",
39+
"properties": {
40+
"enabled": {
41+
"title": "Enabled",
42+
"type": "boolean",
43+
"default": true,
44+
"description": "Enable or disable Jedi Completion."
45+
}
46+
}
47+
},
48+
"jedi_definition": {
49+
"title": "Jedi Definition",
50+
"type": "object",
51+
"properties": {
52+
"enabled": {
53+
"title": "Enabled",
54+
"type": "boolean",
55+
"default": true,
56+
"description": "Enable or disable Jedi Definition."
57+
}
58+
}
59+
},
60+
"jedi_hover": {
61+
"title": "Jedi Hover",
62+
"type": "object",
63+
"properties": {
64+
"enabled": {
65+
"title": "Enabled",
66+
"type": "boolean",
67+
"default": true,
68+
"description": "Enable or disable Jedi Hover."
69+
}
70+
}
71+
},
72+
"jedi_references": {
73+
"title": "Jedi References",
74+
"type": "object",
75+
"properties": {
76+
"enabled": {
77+
"title": "Enabled",
78+
"type": "boolean",
79+
"default": true,
80+
"description": "Enable or disable Jedi References."
81+
}
82+
}
83+
},
84+
"jedi_signature_help": {
85+
"title": "Jedi Signature Help",
86+
"type": "object",
87+
"properties": {
88+
"enabled": {
89+
"title": "Enabled",
90+
"type": "boolean",
91+
"default": true,
92+
"description": "Enable or disable Jedi Signature Help."
93+
}
94+
}
95+
},
96+
"jedi_symbols": {
97+
"title": "Jedi Symbols",
98+
"type": "object",
99+
"properties": {
100+
"enabled": {
101+
"title": "Enabled",
102+
"type": "boolean",
103+
"default": true,
104+
"description": "Enable or disable Jedi Symbols."
105+
}
106+
}
107+
},
108+
"mccabe": {
109+
"title": "McCabe",
110+
"type": "object",
111+
"properties": {
112+
"enabled": {
113+
"title": "Enabled",
114+
"type": "boolean",
115+
"default": true,
116+
"description": "Enable or disable McCabe."
117+
},
118+
"threshold": {
119+
"title": "Threshold",
120+
"type": "number",
121+
"default": 15,
122+
"description":
123+
"The minimum threshold that triggers warnings about cyclomatic complexity."
124+
}
125+
}
126+
},
127+
"pycodestyle": {
128+
"title": "PyCodeStyle",
129+
"type": "object",
130+
"properties": {
131+
"enabled": {
132+
"title": "Enabled",
133+
"type": "boolean",
134+
"default": true,
135+
"description": "Enable or disable PyCodeStyle."
136+
}
137+
}
138+
},
139+
"pydocstyle": {
140+
"title": "PyDocStyle",
141+
"type": "object",
142+
"properties": {
143+
"enabled": {
144+
"title": "Enabled",
145+
"type": "boolean",
146+
"default": false,
147+
"description": "Enable or disable PyDocStyle."
148+
}
149+
}
150+
},
151+
"pyflakes": {
152+
"title": "PyFlakes",
153+
"type": "object",
154+
"properties": {
155+
"enabled": {
156+
"title": "Enabled",
157+
"type": "boolean",
158+
"default": true,
159+
"description": "Enable or disable PyFlakes."
160+
}
161+
}
162+
},
163+
"yapf": {
164+
"title": "Yapf",
165+
"type": "object",
166+
"properties": {
167+
"enabled": {
168+
"title": "Enabled",
169+
"type": "boolean",
170+
"default": true,
171+
"description": "Enable or disable Yapf."
172+
}
173+
}
174+
}
175+
}
30176
}
31177
},
32178
"consumedServices": {

0 commit comments

Comments
 (0)