-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvim_config_manager.py
More file actions
67 lines (47 loc) · 2.49 KB
/
vim_config_manager.py
File metadata and controls
67 lines (47 loc) · 2.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from typing import Any, ClassVar
import vim
from .basic import (
IConfigGetter,
TBasicConfigManager,
UndefinedValueError,
)
class TVimConfigGetter(IConfigGetter):
def get_by_file_ext(self) -> Any:
return self._get_vim_var("g:coderunner_by_file_ext")
def get_by_file_type(self) -> Any:
return self._get_vim_var("g:coderunner_by_file_type")
def get_by_glob(self) -> Any:
return self._get_vim_var("g:coderunner_by_glob")
def get_coderunner_tempfile_prefix(self) -> Any:
return self._get_vim_var("g:coderunner_tempfile_prefix")
def get_dispatchers_order(self) -> Any:
return self._get_vim_var("g:coderunner_runners_order")
def get_executor(self) -> Any:
return self._get_vim_var("g:coderunner_executor")
def get_ignore_selection(self) -> Any:
return self._get_vim_var("g:coderunner_ignore_selection")
def get_respect_shebang(self) -> Any:
return self._get_vim_var("g:coderunner_respect_shebang")
def get_remove_coderunner_tempfiles_on_exit(self) -> Any:
return self._get_vim_var("g:coderunner_remove_coderunner_tempfiles_on_exit")
def get_save_all_files_before_run(self) -> Any:
return self._get_vim_var("g:coderunner_save_all_files_before_run")
def get_save_file_before_run(self) -> Any:
return self._get_vim_var("g:coderunner_save_file_before_run")
def _get_vim_var(self, var_name: str) -> Any:
try:
return vim.eval(var_name)
except vim.error:
raise UndefinedValueError(f"Vim variable {var_name} is not defined. Please set it in your vimrc.")
class TVimConfigManager(TBasicConfigManager):
by_file_ext_alias: ClassVar[str] = "g:coderunner_by_file_ext"
by_file_type_alias: ClassVar[str] = "g:coderunner_by_file_type"
by_glob_alias: ClassVar[str] = "g:coderunner_by_glob"
dispatchers_order_alias: ClassVar[str] = "g:coderunner_runners_order"
coderunner_tempfile_prefix_alias: ClassVar[str] = "g:coderunner_tempfile_prefix"
executor_alias: ClassVar[str] = "g:coderunner_executor"
ignore_selection_alias: ClassVar[str] = "g:coderunner_ignore_selection"
respect_shebang_alias: ClassVar[str] = "g:coderunner_respect_shebang"
remove_coderunner_tempfiles_on_exit_alias: ClassVar[str] = "g:coderunner_remove_coderunner_tempfiles_on_exit"
save_all_files_before_run_alias: ClassVar[str] = "g:coderunner_save_all_files_before_run"
save_file_before_run_alias: ClassVar[str] = "g:coderunner_save_file_before_run"