# Ignore symlinks created by Bazel.
#
# A glob is used to capture these and any created in subdirectories that also
# define WORKSPACE.bazel files.
#
# bazel-<project>:
#   Bazel execution root, contains symlinks to externally loaded dependencies.
#
# bazel-out:
#   Bazel output path, contains directories for multiple build configurations.
#
# bazel-bin:
#   Symlink to most recently used output-build-configuration
#   equivalent to the most recently used configuration output folder in GN.
#
# bazel-testlogs:
#   Test logs
#
bazel-*

# fuchsia sdk downloaded manually by the user (see README.md)
sdk

# compiledb information for IDE integration
**/.cache/clangd
compile_commands.json

# symlinks created by scripts/bootstrap.sh
tools/bazel
tools/ffx

# Files created by IntelliJ IDE.
.idea
iwlwifi.iml

# Files created by VSCode.
.vscode
