reqlanOverviewIdeasFilesCode filesClustersAttributesGraphPrint
Ideas/configuration_import_root_alias

Idea detail

configuration_import_root_alias

reqlan rq/language/imports.rq:68

block

Summary

An import path may start with an alias string, then `/`, then a relative path under that alias's import-root directory.
Default alias string: `@`, written as `@/` plus a path relative to the import root.
Default import-root directory: the workspace folder that contains the `.rq` file ( not the document directory ).
The path after `/` is joined to that alias's import-root directory; the alias itself must be followed by `/` ( e. g. `@reqs` is not aliased ).
Alias strings and import-root directories are configured as configuration_import_roots in the applying `.reqlan/config.json` from configuration_location.
A configured relative `root` resolves against the base root ( parent of `.reqlan` ); an omitted `root` keeps the workspace-folder default.
When several configured aliases could match a path, the longest alias wins.
Related path forms: import_paths. Completion: code_completion.

Jump to outbound references

Jump to inbound references

Navigation

Source file

reqlan rq/language/imports.rq

community 37

community cluster

imports.rq

file cluster

reqlan rq/language

folder cluster

status: Not present

status cluster

tag: Not present

tag cluster

Printable page

Static print-friendly idea sheet.

Attributes

KeyValue
example from "@/path/relative/to/import/root.rq" import idea
implementation reqlan-path-resolve.ts, file-path-rewrite.ts, reqlan-completion-provider.ts, reqlan-path-completion.ts
tests path-resolve.test.ts:resolves import-root alias against the workspace folder, path-resolve.test.ts:leaves non-aliased relative paths document-relative, path-resolve.test.ts:matchImportRootAlias requires alias then slash, path-resolve.test.ts:loads importRoots list from nearest base config, path-resolve.test.ts:resolves using config importRoots mapping, path-resolve.test.ts:rewrite leaves aliased paths unchanged, completion.test.ts:completes import-root alias paths, config.test.ts:multiple importRoots map aliases to different roots, config.test.ts:longest alias wins when mappings overlap, config.test.ts:aliased path uses relative root from applying config, config.test.ts:aliased path uses workspace folder when root is omitted

Browse all attributes

Ancestor context

import_paths

Import path strings may use relative paths such as. / exampleimport. rq. Import path strings may use paths containing folders. Import path strings may use remote urls such as https: / / company. com / reqs / style. rq. Import path strings may use an import-root alias shorthand such as `@/path/relative/to/import/root`; see [configuration_import_root_alias]. Path forms apply to from-import, namespace import, and qualified import; see [import_from], [import_namespace], and [import_qualified]. Editor completion for path strings is covered by ["../extension/syntax/features-syntax.rq".code_completion].

import_from

From-import syntax uses from, a quoted path, import, and an idea name. From-import may include an alias using as.

import_namespace

Namespace import syntax uses import and a quoted path. Namespace import may include an alias using as. A bracket reference to the alias alone — for example [context_model] — opens the imported file and links only the alias name, like an ideaset namespace. Qualified references through the alias — for example [context_model.builder] — resolve ideas from the imported module.

import_qualified

Qualified import syntax uses import, a quoted path, a dot, an ideaset name, a dot, and an idea name. Qualified import may include an alias using as.

Outbound references

KindIdeaPathSnippet
file_reference ../../packages/language/src/file-path-rewrite.ts packages/language/src/file-path-rewrite.ts file-path-rewrite.ts
file_reference ../../packages/language/src/reqlan-completion-provider.ts packages/language/src/reqlan-completion-provider.ts reqlan-completion-provider.ts
file_reference ../../packages/language/src/reqlan-path-completion.ts packages/language/src/reqlan-path-completion.ts reqlan-path-completion.ts
file_reference ../../packages/language/src/reqlan-path-resolve.ts packages/language/src/reqlan-path-resolve.ts reqlan-path-resolve.ts
file_reference ../../packages/language/test/completion.test.ts:completes import-root alias paths packages/language/test/completion.test.ts:completes import-root alias paths completion.test.ts:completes import-root alias paths
file_reference ../../packages/language/test/config.test.ts:aliased path uses relative root from applying config packages/language/test/config.test.ts:aliased path uses relative root from applying config config.test.ts:aliased path uses relative root from applying config
file_reference ../../packages/language/test/config.test.ts:aliased path uses workspace folder when root is omitted packages/language/test/config.test.ts:aliased path uses workspace folder when root is omitted config.test.ts:aliased path uses workspace folder when root is omitted
file_reference ../../packages/language/test/config.test.ts:longest alias wins when mappings overlap packages/language/test/config.test.ts:longest alias wins when mappings overlap config.test.ts:longest alias wins when mappings overlap
file_reference ../../packages/language/test/config.test.ts:multiple importRoots map aliases to different roots packages/language/test/config.test.ts:multiple importRoots map aliases to different roots config.test.ts:multiple importRoots map aliases to different roots
file_reference ../../packages/language/test/path-resolve.test.ts:leaves non-aliased relative paths document-relative packages/language/test/path-resolve.test.ts:leaves non-aliased relative paths document-relative path-resolve.test.ts:leaves non-aliased relative paths document-relative
file_reference ../../packages/language/test/path-resolve.test.ts:loads importRoots list from nearest base config packages/language/test/path-resolve.test.ts:loads importRoots list from nearest base config path-resolve.test.ts:loads importRoots list from nearest base config
file_reference ../../packages/language/test/path-resolve.test.ts:matchImportRootAlias requires alias then slash packages/language/test/path-resolve.test.ts:matchImportRootAlias requires alias then slash path-resolve.test.ts:matchImportRootAlias requires alias then slash
file_reference ../../packages/language/test/path-resolve.test.ts:resolves import-root alias against the workspace folder packages/language/test/path-resolve.test.ts:resolves import-root alias against the workspace folder path-resolve.test.ts:resolves import-root alias against the workspace folder
file_reference ../../packages/language/test/path-resolve.test.ts:resolves using config importRoots mapping packages/language/test/path-resolve.test.ts:resolves using config importRoots mapping path-resolve.test.ts:resolves using config importRoots mapping
file_reference ../../packages/language/test/path-resolve.test.ts:rewrite leaves aliased paths unchanged packages/language/test/path-resolve.test.ts:rewrite leaves aliased paths unchanged path-resolve.test.ts:rewrite leaves aliased paths unchanged
references import_paths reqlan rq/language/imports.rq import_paths

Inbound references

KindIdeaPathSnippet
references import_paths reqlan rq/language/imports.rq configuration_import_root_alias

Unresolved references

KindIdeaPathSnippet
references code_completion code_completion
references configuration_import_roots configuration_import_roots
references configuration_location configuration_location

Local graph

Initialising graph…