Skip to content

Commit 91513c5

Browse files
committed
refactor(langserver): make package import relativ
1 parent 46325ca commit 91513c5

25 files changed

+178
-211
lines changed

packages/language_server/src/robotcode/language_server/robotframework/diagnostics/analyzer.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
Range,
2020
)
2121
from robotcode.core.uri import Uri
22-
from robotcode.language_server.robotframework.parts.model_helper import ModelHelperMixin
23-
from robotcode.language_server.robotframework.utils.ast_utils import (
22+
23+
from ..utils.ast_utils import (
2424
HasTokens,
2525
Statement,
2626
Token,
@@ -32,9 +32,8 @@
3232
strip_variable_token,
3333
tokenize_variables,
3434
)
35-
from robotcode.language_server.robotframework.utils.async_ast import AsyncVisitor
36-
from robotcode.language_server.robotframework.utils.version import get_robot_version
37-
35+
from ..utils.async_ast import AsyncVisitor
36+
from ..utils.version import get_robot_version
3837
from .entities import (
3938
ArgumentDefinition,
4039
CommandLineVariableDefinition,
@@ -48,6 +47,7 @@
4847
)
4948
from .errors import DIAGNOSTICS_SOURCE_NAME, Error
5049
from .library_doc import KeywordDoc, KeywordMatcher, is_embedded_keyword
50+
from .model_helper import ModelHelperMixin
5151
from .namespace import (
5252
KeywordFinder,
5353
Namespace,
@@ -401,6 +401,8 @@ async def _analyze_keyword_call(
401401
lib_range = None
402402
kw_namespace = None
403403

404+
result = self.finder.find_keyword(keyword, raise_keyword_error=False)
405+
404406
if keyword is not None:
405407
for lib, name in iter_over_keyword_names_and_owners(keyword):
406408
if (
@@ -420,7 +422,8 @@ async def _analyze_keyword_call(
420422
kw_range.start.character = r.end.character + 1
421423
lib_range.end.character = kw_range.start.character - 1
422424

423-
result = self.finder.find_keyword(keyword, raise_keyword_error=False)
425+
if result is not None and result.parent == lib_entry.library_doc:
426+
break
424427

425428
if (
426429
result is not None

packages/language_server/src/robotcode/language_server/robotframework/diagnostics/namespace.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,8 @@ def visit_KeywordName(self, node: ast.AST) -> None: # noqa: N802
191191
from robot.parsing.lexer.tokens import Token as RobotToken
192192
from robot.parsing.model.statements import KeywordName
193193
from robot.variables.search import search_variable
194-
from robotcode.language_server.robotframework.parts.model_helper import ModelHelperMixin
194+
195+
from .model_helper import ModelHelperMixin
195196

196197
n = cast(KeywordName, node)
197198
name_token = cast(Token, n.get_token(RobotToken.KEYWORD_NAME))

packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_documentation.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,31 +30,31 @@
3030
from robotcode.core.uri import Uri
3131
from robotcode.core.utils.net import find_free_port
3232
from robotcode.jsonrpc2.protocol import rpc_method
33-
from robotcode.language_server.common.decorators import code_action_kinds, language_id
34-
from robotcode.language_server.common.text_document import TextDocument
35-
from robotcode.language_server.robotframework.configuration import (
33+
34+
from ...common.decorators import code_action_kinds, language_id
35+
from ...common.text_document import TextDocument
36+
from ..configuration import (
3637
DocumentationServerConfig,
3738
)
38-
from robotcode.language_server.robotframework.diagnostics.entities import LibraryEntry
39-
from robotcode.language_server.robotframework.diagnostics.library_doc import (
39+
from ..diagnostics.entities import LibraryEntry
40+
from ..diagnostics.library_doc import (
4041
get_library_doc,
4142
get_robot_library_html_doc_str,
4243
resolve_robot_variables,
4344
)
44-
from robotcode.language_server.robotframework.diagnostics.namespace import (
45+
from ..diagnostics.model_helper import ModelHelperMixin
46+
from ..diagnostics.namespace import (
4547
Namespace,
4648
)
47-
from robotcode.language_server.robotframework.utils.ast_utils import (
49+
from ..utils.ast_utils import (
4850
Token,
4951
get_node_at_position,
5052
range_from_token,
5153
)
52-
53-
from .model_helper import ModelHelperMixin
5454
from .protocol_part import RobotLanguageServerProtocolPart
5555

5656
if TYPE_CHECKING:
57-
from robotcode.language_server.robotframework.protocol import (
57+
from ..protocol import (
5858
RobotLanguageServerProtocol,
5959
)
6060

packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_quick_fixes.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,12 @@
2323
WorkspaceEdit,
2424
)
2525
from robotcode.core.utils.inspect import iter_methods
26-
from robotcode.language_server.common.decorators import code_action_kinds, language_id
27-
from robotcode.language_server.common.text_document import TextDocument
28-
from robotcode.language_server.robotframework.diagnostics.errors import DIAGNOSTICS_SOURCE_NAME, Error
29-
from robotcode.language_server.robotframework.utils.ast_utils import (
26+
27+
from ...common.decorators import code_action_kinds, language_id
28+
from ...common.text_document import TextDocument
29+
from ..diagnostics.errors import DIAGNOSTICS_SOURCE_NAME, Error
30+
from ..diagnostics.model_helper import ModelHelperMixin
31+
from ..utils.ast_utils import (
3032
FirstAndLastRealStatementFinder,
3133
Token,
3234
get_node_at_position,
@@ -35,18 +37,16 @@
3537
range_from_node,
3638
range_from_token,
3739
)
38-
3940
from .code_action_helper_mixin import (
4041
SHOW_DOCUMENT_SELECT_AND_RENAME_COMMAND,
4142
CodeActionDataBase,
4243
CodeActionHelperMixin,
4344
FindSectionsVisitor,
4445
)
45-
from .model_helper import ModelHelperMixin
4646
from .protocol_part import RobotLanguageServerProtocolPart
4747

4848
if TYPE_CHECKING:
49-
from robotcode.language_server.robotframework.protocol import RobotLanguageServerProtocol # pragma: no cover
49+
from ..protocol import RobotLanguageServerProtocol # pragma: no cover
5050

5151

5252
@dataclass

packages/language_server/src/robotcode/language_server/robotframework/parts/code_action_refactor.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,24 +26,24 @@
2626
WorkspaceEdit,
2727
)
2828
from robotcode.core.utils.inspect import iter_methods
29-
from robotcode.language_server.common.decorators import code_action_kinds, language_id
30-
from robotcode.language_server.common.text_document import TextDocument
31-
from robotcode.language_server.robotframework.utils import ast_utils
32-
from robotcode.language_server.robotframework.utils.ast_utils import (
29+
from robotcode.robot.utils import get_robot_version
30+
31+
from ...common.decorators import code_action_kinds, language_id
32+
from ...common.text_document import TextDocument
33+
from ..diagnostics.model_helper import ModelHelperMixin
34+
from ..utils import ast_utils
35+
from ..utils.ast_utils import (
3336
BodyBlock,
3437
get_node_at_position,
3538
get_nodes_at_position,
3639
range_from_node,
3740
range_from_token,
3841
)
39-
from robotcode.robot.utils import get_robot_version
40-
4142
from .code_action_helper_mixin import SHOW_DOCUMENT_SELECT_AND_RENAME_COMMAND, CodeActionDataBase, CodeActionHelperMixin
42-
from .model_helper import ModelHelperMixin
4343
from .protocol_part import RobotLanguageServerProtocolPart
4444

4545
if TYPE_CHECKING:
46-
from robotcode.language_server.robotframework.protocol import RobotLanguageServerProtocol # pragma: no cover
46+
from ..protocol import RobotLanguageServerProtocol # pragma: no cover
4747

4848

4949
class SurroundType(Enum):

packages/language_server/src/robotcode/language_server/robotframework/parts/codelens.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@
66
from robotcode.core.async_tools import create_sub_task
77
from robotcode.core.logging import LoggingDescriptor
88
from robotcode.core.lsp.types import CodeLens, Command
9-
from robotcode.language_server.common.decorators import language_id
10-
from robotcode.language_server.common.text_document import TextDocument
11-
from robotcode.language_server.robotframework.configuration import AnalysisConfig
12-
from robotcode.language_server.robotframework.diagnostics.library_doc import KeywordDoc
13-
from robotcode.language_server.robotframework.utils.ast_utils import range_from_token
14-
from robotcode.language_server.robotframework.utils.async_ast import AsyncVisitor
15-
16-
from .model_helper import ModelHelperMixin
9+
10+
from ...common.decorators import language_id
11+
from ...common.text_document import TextDocument
12+
from ..configuration import AnalysisConfig
13+
from ..diagnostics.library_doc import KeywordDoc
14+
from ..diagnostics.model_helper import ModelHelperMixin
15+
from ..utils.ast_utils import range_from_token
16+
from ..utils.async_ast import AsyncVisitor
1717
from .protocol_part import RobotLanguageServerProtocolPart
1818

1919
if TYPE_CHECKING:
20-
from robotcode.language_server.robotframework.protocol import (
20+
from ..protocol import (
2121
RobotLanguageServerProtocol,
2222
)
2323

packages/language_server/src/robotcode/language_server/robotframework/parts/completion.py

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,15 @@
3939
Range,
4040
TextEdit,
4141
)
42-
from robotcode.language_server.common.decorators import language_id, trigger_characters
43-
from robotcode.language_server.common.text_document import TextDocument
44-
from robotcode.language_server.robotframework.configuration import CompletionConfig
45-
from robotcode.language_server.robotframework.diagnostics.entities import VariableDefinitionType
46-
from robotcode.language_server.robotframework.diagnostics.library_doc import (
47-
CompleteResultKind,
48-
KeywordArgumentKind,
49-
KeywordDoc,
50-
KeywordMatcher,
51-
)
52-
from robotcode.language_server.robotframework.diagnostics.namespace import DocumentType, Namespace
53-
from robotcode.language_server.robotframework.utils.ast_utils import (
42+
43+
from ...common.decorators import language_id, trigger_characters
44+
from ...common.text_document import TextDocument
45+
from ..configuration import CompletionConfig
46+
from ..diagnostics.entities import VariableDefinitionType
47+
from ..diagnostics.library_doc import CompleteResultKind, KeywordArgumentKind, KeywordDoc, KeywordMatcher
48+
from ..diagnostics.model_helper import ModelHelperMixin
49+
from ..diagnostics.namespace import DocumentType, Namespace
50+
from ..utils.ast_utils import (
5451
HasTokens,
5552
Token,
5653
get_nodes_at_position,
@@ -60,13 +57,11 @@
6057
whitespace_at_begin_of_token,
6158
whitespace_from_begin_of_token,
6259
)
63-
from robotcode.language_server.robotframework.utils.version import get_robot_version
64-
65-
from .model_helper import ModelHelperMixin
60+
from ..utils.version import get_robot_version
6661
from .protocol_part import RobotLanguageServerProtocolPart
6762

6863
if TYPE_CHECKING:
69-
from robotcode.language_server.robotframework.protocol import RobotLanguageServerProtocol
64+
from ..protocol import RobotLanguageServerProtocol
7065

7166

7267
DEFAULT_HEADER_STYLE = "*** {name}s ***"

packages/language_server/src/robotcode/language_server/robotframework/parts/debugging_utils.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,18 +9,18 @@
99
from robotcode.core.logging import LoggingDescriptor
1010
from robotcode.core.lsp.types import Position, Range, TextDocumentIdentifier
1111
from robotcode.jsonrpc2.protocol import rpc_method
12-
from robotcode.language_server.robotframework.utils.ast_utils import (
12+
13+
from ..diagnostics.model_helper import ModelHelperMixin
14+
from ..utils.ast_utils import (
1315
HasTokens,
1416
get_nodes_at_position,
1517
get_tokens_at_position,
1618
range_from_token,
1719
)
18-
19-
from .model_helper import ModelHelperMixin
2020
from .protocol_part import RobotLanguageServerProtocolPart
2121

2222
if TYPE_CHECKING:
23-
from robotcode.language_server.robotframework.protocol import RobotLanguageServerProtocol
23+
from ..protocol import RobotLanguageServerProtocol
2424

2525

2626
@dataclass(repr=False)

packages/language_server/src/robotcode/language_server/robotframework/parts/diagnostics.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,22 @@
88
from robotcode.core.logging import LoggingDescriptor
99
from robotcode.core.lsp.types import Diagnostic, DiagnosticSeverity, DiagnosticTag, Position, Range
1010
from robotcode.core.uri import Uri
11-
from robotcode.language_server.common.decorators import language_id
12-
from robotcode.language_server.common.parts.diagnostics import DiagnosticsResult
13-
from robotcode.language_server.common.text_document import TextDocument
14-
from robotcode.language_server.robotframework.configuration import AnalysisConfig
15-
from robotcode.language_server.robotframework.diagnostics.entities import ArgumentDefinition
16-
from robotcode.language_server.robotframework.diagnostics.namespace import Namespace
17-
from robotcode.language_server.robotframework.utils.ast_utils import (
11+
12+
from ...common.decorators import language_id
13+
from ...common.parts.diagnostics import DiagnosticsResult
14+
from ...common.text_document import TextDocument
15+
from ..configuration import AnalysisConfig
16+
from ..diagnostics.entities import ArgumentDefinition
17+
from ..diagnostics.namespace import Namespace
18+
from ..utils.ast_utils import (
1819
HeaderAndBodyBlock,
1920
Token,
2021
range_from_node,
2122
range_from_token,
2223
)
2324

2425
if TYPE_CHECKING:
25-
from robotcode.language_server.robotframework.protocol import RobotLanguageServerProtocol
26+
from ..protocol import RobotLanguageServerProtocol
2627

2728
from .protocol_part import RobotLanguageServerProtocolPart
2829

0 commit comments

Comments
 (0)