Skip to content

Commit e987e39

Browse files
refactor: rename Builder to Factory in coderunner_builder
- Rename ICodeRunnerBuilder to ICodeRunnerFactory - Rename TVimCodeRunnerBuilder to TVimCodeRunnerFactory - Rename build() method to create() - Rename all _build_* private methods to _create_* - Factory pattern better reflects single-call object creation - All 87 tests passing
1 parent 97c17c5 commit e987e39

File tree

10 files changed

+29
-47
lines changed

10 files changed

+29
-47
lines changed

.pre-commit-config.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,6 @@ repos:
1818
stages: [pre-commit]
1919
verbose: true
2020

21-
- id: isort
22-
name: isort
23-
entry: bash -c "cd python_coderunner && isort ."
24-
language: system
25-
types: [python]
26-
stages: [pre-commit]
27-
verbose: true
28-
2921
- id: mypy
3022
name: mypy
3123
entry: bash -c "cd python_coderunner && mypy ."

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ TInterpolatorCommandBuilder ..|> ICommandBuilder : implements
162162
TInterpolatorCommandBuilder "1" o--> "1" IProjectInfoExtractor : aggregates
163163
TInterpolatorCommandBuilder "1" o--> "1" IFileInfoExtractor : aggregates
164164
IProjectInfoExtractor "1" o--> "1" IFileInfoExtractor : aggregates
165+
TBaseFileInfoExtractor ..|> IFileInfoExtractor : implements
165166
166167
167168
class TCodeRunner {
@@ -312,7 +313,6 @@ class IProjectInfoExtractor {
312313
+ get_all_files_filter_by_file_type(file_types: set[str]) Iterable[str]
313314
}
314315
315-
316316
class IFileInfoExtractor {
317317
<<interface>>
318318
Declares all commands that are directly connected to the file.

autoload/coderunner.vim

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@ def coderunner_on_exit():
6363

6464
sys.path.insert(0, os.path.dirname(vim.eval("s:script_folder_path")))
6565
try:
66-
from python_coderunner import TCodeRunner, TVimCodeRunnerBuilder
66+
from python_coderunner import TCodeRunner, TVimCodeRunnerFactory
6767

6868

69-
coderunner: TCodeRunner = TVimCodeRunnerBuilder().build()
69+
coderunner: TCodeRunner = TVimCodeRunnerFactory().create()
7070
except Exception as error:
7171
vim.command("redraw | echohl ErrorMsg")
7272
for line in traceback.format_exc().splitlines():

python_coderunner/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
from .src.coderunner import TCodeRunner
2-
from .src.coderunner_builder import TVimCodeRunnerBuilder
2+
from .src.coderunner_builder import TVimCodeRunnerFactory

python_coderunner/pyproject.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,12 @@ name = "vim-code-runner"
33
authors = [
44
{name = "Zahar Chernenko", email = "zaharchernenko35@gmail.com"},
55
]
6-
version = "1.0.0"
6+
version = "1.0.1"
77
requires-python = ">=3.10"
88

99
[dependency-groups]
1010
dev = [
1111
"commitlint>=1.3.0",
12-
"isort>=4.3.21",
1312
"mypy>=0.910",
1413
"pre-commit>=1.21.0",
1514
"pylint>=2.6.2",
@@ -19,7 +18,6 @@ dev = [
1918
"ruff>=0.12.0",
2019
]
2120
pre-commit = [
22-
"isort>=4.3.21",
2321
"mypy>=0.910",
2422
"pre-commit>=1.21.0",
2523
"pylint>=2.6.2",
@@ -35,9 +33,6 @@ test = [
3533
pythonpath = ["."] # to run without python -m, otherwise there will be no src in the path
3634
testpaths = ["tests"]
3735

38-
[tool.isort]
39-
profile = "black"
40-
4136
[tool.mypy]
4237
check_untyped_defs = true
4338
explicit_package_bases = true # without this, mypy complains about duplicate packages.
@@ -52,6 +47,10 @@ disable_error_code = [
5247
line-length = 120
5348
[tool.ruff.format]
5449
quote-style = "double"
50+
[tool.ruff.lint]
51+
extend-select = ["I", "F401"]
52+
extend-unsafe-fixes = ["F401"]
53+
ignore = ["W292"]
5554
[tool.ruff.lint.per-file-ignores]
5655
"__init__.py" = [
5756
"F401", # ignore unused imports
@@ -91,10 +90,11 @@ argument-naming-style = "snake_case"
9190
attr-naming-style = "snake_case"
9291
class-attribute-naming-style = "any"
9392
class-const-naming-style = "UPPER_CASE"
94-
class-rgx="^(((I|T|E|Supports)[A-Z][a-zA-Z0-9]*)|[A-Z][a-zA-Z0-9]*Error)$"
93+
class-rgx="^(((I|T|E)[A-Z][a-zA-Z0-9]*)|([A-Z][a-zA-Z0-9]*(Error|Protocol)))$"
9594
const-naming-style= "any"
9695
function-naming-style = "snake_case"
97-
typevar="^T[A-Z][a-zA-Z0-9]*$"
96+
typealias-rgx="^(((I|T|E)[A-Z][a-zA-Z0-9]*)|([A-Z][a-zA-Z0-9]*(Error|Protocol)))$"
97+
typevar-rgx="^[A-Z][a-zA-Z0-9]*Type$"
9898
variable-naming-style = "snake_case"
9999
module-naming-style = "snake_case"
100100
inlinevar-naming-style = "any"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
from .interface import ICodeRunnerBuilder
2-
from .vim_coderunner_builder import TVimCodeRunnerBuilder
1+
from .interface import ICodeRunnerFactory
2+
from .vim_coderunner_builder import TVimCodeRunnerFactory

python_coderunner/src/coderunner_builder/interface.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from ..coderunner import TCodeRunner
55

66

7-
class ICodeRunnerBuilder(ABC):
7+
class ICodeRunnerFactory(ABC):
88
@abstractmethod
9-
def build(self) -> Optional[TCodeRunner]:
9+
def create(self) -> Optional[TCodeRunner]:
1010
raise NotImplementedError

python_coderunner/src/coderunner_builder/vim_coderunner_builder.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
from ..file_info_extractor import TVimFileInfoExtractor
2525
from ..message_printer import TVimMessagePrinter
2626
from ..project_info_extractor import TVimProjectInfoExtractor
27-
from .interface import ICodeRunnerBuilder
27+
from .interface import ICodeRunnerFactory
2828

2929

30-
class TVimCodeRunnerBuilder(ICodeRunnerBuilder):
31-
def build(self) -> Optional[TCodeRunner]:
30+
class TVimCodeRunnerFactory(ICodeRunnerFactory):
31+
def create(self) -> Optional[TCodeRunner]:
3232
config_manager: TVimConfigManager = TVimConfigManager(TVimConfigGetter(), TBasicConfigValidator())
3333
message_printer: TVimMessagePrinter = TVimMessagePrinter()
3434

@@ -42,7 +42,7 @@ def build(self) -> Optional[TCodeRunner]:
4242
)
4343

4444
command_dispatcher_strategy_selector: TBasicCommandDispatcherStrategySelector = (
45-
self._build_command_dispatcher_strategy_selector(
45+
self._create_command_dispatcher_strategy_selector(
4646
config_manager, file_info_extractor, project_info_extractor
4747
)
4848
)
@@ -61,7 +61,7 @@ def build(self) -> Optional[TCodeRunner]:
6161

6262
return None
6363

64-
def _build_command_dispatcher_strategy_selector(
64+
def _create_command_dispatcher_strategy_selector(
6565
self,
6666
config_manager: TVimConfigManager,
6767
file_info_extractor: TVimFileInfoExtractor,
@@ -71,17 +71,17 @@ def _build_command_dispatcher_strategy_selector(
7171
file_info_extractor
7272
)
7373
file_ext_command_builders_dispatcher: TFileExtCommandBuildersDispatcher = (
74-
self._build_file_ext_command_builders_dispatcher(
74+
self._create_file_ext_command_builders_dispatcher(
7575
config_manager, file_info_extractor, project_info_extractor
7676
)
7777
)
7878
file_type_command_builders_dispatcher: TFileTypeCommandBuildersDispatcher = (
79-
self._build_file_type_command_builders_dispatcher(
79+
self._create_file_type_command_builders_dispatcher(
8080
config_manager, file_info_extractor, project_info_extractor
8181
)
8282
)
83-
glob_command_builders_dispatcher: TGlobCommandBuildersDispatcher = self._build_glob_command_builders_dispatcher(
84-
config_manager, file_info_extractor, project_info_extractor
83+
glob_command_builders_dispatcher: TGlobCommandBuildersDispatcher = (
84+
self._create_glob_command_builders_dispatcher(config_manager, file_info_extractor, project_info_extractor)
8585
)
8686

8787
return TBasicCommandDispatcherStrategySelector(
@@ -92,7 +92,7 @@ def _build_command_dispatcher_strategy_selector(
9292
config_manager=config_manager,
9393
)
9494

95-
def _build_file_ext_command_builders_dispatcher(
95+
def _create_file_ext_command_builders_dispatcher(
9696
self,
9797
config_manager: TVimConfigManager,
9898
file_info_extractor: TVimFileInfoExtractor,
@@ -106,7 +106,7 @@ def _build_file_ext_command_builders_dispatcher(
106106
file_info_extractor,
107107
)
108108

109-
def _build_file_type_command_builders_dispatcher(
109+
def _create_file_type_command_builders_dispatcher(
110110
self,
111111
config_manager: TVimConfigManager,
112112
file_info_extractor: TVimFileInfoExtractor,
@@ -120,7 +120,7 @@ def _build_file_type_command_builders_dispatcher(
120120
file_info_extractor,
121121
)
122122

123-
def _build_glob_command_builders_dispatcher(
123+
def _create_glob_command_builders_dispatcher(
124124
self,
125125
config_manager: TVimConfigManager,
126126
file_info_extractor: TVimFileInfoExtractor,
Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
11
from .base import TBaseFileInfoExtractor
22
from .interface import IFileInfoExtractor
33
from .vim_file_info_extractor import TVimFileInfoExtractor
4-
5-
__all__ = [
6-
"IFileInfoExtractor",
7-
"TBaseFileInfoExtractor",
8-
"TVimFileInfoExtractor",
9-
]

python_coderunner/uv.lock

Lines changed: 1 addition & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)