{"id":13450846,"url":"https://github.com/bazelbuild/vim-bazel","last_synced_at":"2025-05-03T11:33:49.807Z","repository":{"id":14405531,"uuid":"76501871","full_name":"bazelbuild/vim-bazel","owner":"bazelbuild","description":"Vim support for Bazel","archived":false,"fork":false,"pushed_at":"2022-04-09T06:20:55.000Z","size":39,"stargazers_count":152,"open_issues_count":6,"forks_count":22,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-07T15:46:40.602Z","etag":null,"topics":["bazel","vim"],"latest_commit_sha":null,"homepage":null,"language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bazelbuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2016-12-14T22:21:03.000Z","updated_at":"2025-01-28T05:15:34.000Z","dependencies_parsed_at":"2022-07-22T12:32:52.555Z","dependency_job_id":null,"html_url":"https://github.com/bazelbuild/vim-bazel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fvim-bazel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fvim-bazel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fvim-bazel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fvim-bazel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazelbuild","download_url":"https://codeload.github.com/bazelbuild/vim-bazel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252185921,"owners_count":21708230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bazel","vim"],"created_at":"2024-07-31T07:00:39.256Z","updated_at":"2025-05-03T11:33:49.509Z","avatar_url":"https://github.com/bazelbuild.png","language":"Vim script","readme":"# Vim Bazel\n\nvim-bazel is a plugin for invoking bazel and interacting with bazel artifacts.\n\nIf you're looking for the Syntax and Filetype settings, that lives in\n[vim-ft-bzl](https://github.com/bazelbuild/vim-ft-bzl) and has been integrated\ndirectly into the core-Vim syntax and filetype configuration.\n\nVim-bazel is currently in early development (see [Development\nstatus](#development-status)).\n\nFor details, see the executable documentation in the `vroom/` directory or the\nhelpfiles in the `doc/` directory. The helpfiles are also available via\n`:help bazel` if bazel is installed (and helptags have been generated).\n\nDISCLAIMER: This is not an official Google product.\n\n## Commands\n\nUse `:Bazel {command} [argument...]` to invoke bazel.\n\n## Usage example\n\n```vim\n:Bazel build //some/package:sometarget\n```\n```text\nINFO: Found 1 target...\nTarget //pkg/api:go_default_library up-to-date:\n  bazel-bin/pkg/api/go_default_library.a\nINFO: Elapsed time: 19.443s, Critical Path: 13.79s\n\nPress ENTER or type command to continue\n```\n\n## Installation\n\nThis example uses [vim-plug](https://github.com/junegunn/vim-plug), whose\nplugin-adding command is `Plug`.\n\n.vimrc:\n```vim\n\" Add maktaba and bazel to the runtimepath.\n\" (The latter must be installed before it can be used.)\nPlug 'google/vim-maktaba'\nPlug 'bazelbuild/vim-bazel'\n```\n\nStart vim and run\n```vim\n:PlugInstall\n```\n\n# Development status\n\n[![Travis Build Status](https://travis-ci.org/bazelbuild/vim-bazel.svg?branch=master)](https://travis-ci.org/bazelbuild/vim-bazel)\n\nMajor missing features:\n\n * Import build errors into vim ([#1][i1], see note below)\n * Asynchronous build support ([#2][i2])\n\nSee the full list of open issues at\nhttps://github.com/bazelbuild/vim-bazel/issues.\n\nNOTE: If you're eager for some basic form of jump-to-error support and\ncomfortable making some local modifications to the plugin to customize,\nyou can try patching [#11][pr11]. Follow up on [#1][i1] if you're interested in\ngetting maintainable jump-to-file functionality incorporated into the plugin.\n\n[i1]: https://github.com/bazelbuild/vim-bazel/issues/1\n[i2]: https://github.com/bazelbuild/vim-bazel/issues/2\n[pr11]: https://github.com/bazelbuild/vim-bazel/pull/11\n\n# FAQ\n\n## `:Bazel` vs. X\n\n### Why not just use `:!bazel`?\n\nThe `:Bazel` command is currently a thin wrapper around `:!bazel` that supports\ntab completion. Upcoming improvements will offer many more features that vim's\nbuilt-in shell support won't be able to offer.\n\n### Why not just use `:make`?\n\nIt doesn't add significant benefits for bazel usage in practice.\n\nYou can configure vim's built-in `:make` command to invoke \"bazel build\" with\n`:set makeprg=bazel\\ build`. The key benefit of vim's `:make` command is that it\ncan import errors from the build tool as entries in vim's quickfix list, but\nlimitations in vim's errorformat setting make it tricky or impossible to\nactually cleanly parse bazel's output for a given build.\n\nIt also doesn't add any benefit related to other bazel functionality like \"test\"\nand \"query\" commands.\n\n### How does it compare to dispatch.vim?\n\ndispatch.vim's `:Make` command has the same limitations as `:make`, above, just\nwith some asynchronous execution strategies.\n\nYou can use\n```vim\n:Start -wait=always bazel {command}\n```\nto shell out to bazel via dispatch.vim, which works just like `:!bazel`\n(mentioned above) but with dispatch.vim's asynchronous execution. Doesn't block\nvim while executing long builds, but doesn't offer tab completion.\n\n### How does it compare to Neomake?\n\nNeomake doesn't seem to add significant benefits for bazel usage in practice.\n\nLike `:make`, it doesn't support bazel's specific functionality very well and\nthe quickfix support is tricky or impossible to configure properly.\n","funding_links":[],"categories":["Vim Script","Tooling"],"sub_categories":["Editors"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Fvim-bazel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazelbuild%2Fvim-bazel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Fvim-bazel/lists"}