You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I know autocompletion would be quite hard, having to possibly parse .bzl files too (I don't think there's any API or command to list arguments given a rule or function, even less so a skylark rule or macro –there's Skydoc but it only generates documentation, though its code could probably be reused–), but at a minimum completing:
rule and macro names (from the predefined list and the load() arguments in the file)
target labels from the workspace (if there's a WORKSPACE file, aggregate all names from all BUILD files, or run a bazel query to gather them)
would be huge!
I understand that, as of now, this extension is “only” leveraging the Python syntax highlighting rules, tweaked for Bazel, and adding anything else would probably be a big effort, so only suggesting the improvement here.
The text was updated successfully, but these errors were encountered:
Looking into this, the approach would be to implement a language server for bazel. See Code completion guidelines on the bazel project wiki. It would seem the AST that could be handy is already implemented and could be used for parsing and evaluation.
I know autocompletion would be quite hard, having to possibly parse
.bzl
files too (I don't think there's any API or command to list arguments given a rule or function, even less so a skylark rule or macro –there's Skydoc but it only generates documentation, though its code could probably be reused–), but at a minimum completing:load()
arguments in the file)WORKSPACE
file, aggregate all names from allBUILD
files, or run abazel query
to gather them)would be huge!
I understand that, as of now, this extension is “only” leveraging the Python syntax highlighting rules, tweaked for Bazel, and adding anything else would probably be a big effort, so only suggesting the improvement here.
The text was updated successfully, but these errors were encountered: