Skip to content

Commit 4342aa9

Browse files
committed
implement api changes for robotidy 3.0
1 parent 31a7ac0 commit 4342aa9

File tree

1 file changed

+31
-9
lines changed

1 file changed

+31
-9
lines changed

robotcode/language_server/robotframework/parts/formatting.py

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -88,32 +88,54 @@ async def format_robot_tidy(
8888

8989
from difflib import SequenceMatcher
9090

91-
from robotidy.api import RobotidyAPI
9291
from robotidy.version import __version__
9392

9493
try:
94+
robotidy_version = create_version_from_str(__version__)
95+
9596
model = await self.parent.documents_cache.get_model(document, False)
9697
if model is None:
9798
return None
9899

99-
robot_tidy = RobotidyAPI(document.uri.to_path(), None)
100+
if robotidy_version >= (3, 0):
101+
from robotidy.api import get_robotidy
102+
from robotidy.disablers import RegisterDisablers
100103

101-
if range is not None:
102-
robot_tidy.formatting_config.start_line = range.start.line
103-
robot_tidy.formatting_config.end_line = range.end.line + 1
104+
robot_tidy = get_robotidy(document.uri.to_path(), None)
104105

105-
if create_version_from_str(__version__) >= (2, 2):
106-
from robotidy.disablers import RegisterDisablers
106+
if range is not None:
107+
robot_tidy.config.formatting.start_line = range.start.line
108+
robot_tidy.config.formatting.end_line = range.end.line + 1
107109

108110
disabler_finder = RegisterDisablers(
109-
robot_tidy.formatting_config.start_line, robot_tidy.formatting_config.end_line
111+
robot_tidy.config.formatting.start_line, robot_tidy.config.formatting.end_line
110112
)
111113
disabler_finder.visit(model)
112114
if disabler_finder.file_disabled:
113115
return None
114116
changed, _, new = robot_tidy.transform(model, disabler_finder.disablers)
117+
115118
else:
116-
changed, _, new = robot_tidy.transform(model)
119+
from robotidy.api import RobotidyAPI
120+
121+
robot_tidy = RobotidyAPI(document.uri.to_path(), None)
122+
123+
if range is not None:
124+
robot_tidy.formatting_config.start_line = range.start.line
125+
robot_tidy.formatting_config.end_line = range.end.line + 1
126+
127+
if robotidy_version >= (2, 2):
128+
from robotidy.disablers import RegisterDisablers
129+
130+
disabler_finder = RegisterDisablers(
131+
robot_tidy.formatting_config.start_line, robot_tidy.formatting_config.end_line
132+
)
133+
disabler_finder.visit(model)
134+
if disabler_finder.file_disabled:
135+
return None
136+
changed, _, new = robot_tidy.transform(model, disabler_finder.disablers)
137+
else:
138+
changed, _, new = robot_tidy.transform(model)
117139

118140
if not changed:
119141
return None

0 commit comments

Comments
 (0)