terraform/command
Martin Atkins e865faf318 command: Better visual hierarchy for diagnostics
I frequently see people attempting to ask questions about Terraform's
error and warning messages but either only copying part of the message or
accidentally copying a surrounding paragraph that isn't part of the
message.

While I'm sure some of these are just "careless" mistakes, I've also
noticed that this has sometimes overlapped with someone asking a question
whose answer is written directly in the part of the message they didn't
include when copying, and so I have a theory that our current output
doesn't create a good enough visual hierarchy for sighted users to
understand where the diagnostic messages start and end when we show them
in close proximity to other content, or to other diagnostic messages.
As a result, some folks fail to notice the relevant message that might've
answered their question.

I tried a few different experiments for different approaches here, such
as adding more horizontal rules to the output and coloring the detail
text differently, but the approach that felt like the nicest compromise
to me was what's implemented here, which is to add a vertical line
along the left edge of each diagnostic message, colored to match with the
typical color we use for each diagnostic severity. This means that the
diagnostics end up slightly indented from what's around them, and the
vertical line seems to help subtly signal how we intended the content
to be grouped together.
2021-01-14 09:50:22 -08:00
..
cliconfig consistent recievers 2020-12-02 13:59:19 -05:00
clistate staticcheck 2020-12-02 13:59:19 -05:00
e2etest command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
format command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
jsonconfig Ensure depends_on is in module calls for config 2020-08-20 07:49:03 +10:00
jsonplan command/jsonconfig: Use correct provider address to access schema 2020-04-06 09:24:23 -07:00
jsonprovider command/jsonprovider: staticcheck 2020-12-02 13:59:20 -05:00
jsonstate command: Fix terraform show not outputting child_modules properly in certain circumstances (#27352) 2021-01-11 12:31:20 -05:00
testdata command/state list: list resources in nested and expanded modules (#27268) 2020-12-14 11:07:15 -05:00
webbrowser command: Revert local patch for pkg/browser 2020-12-10 09:27:02 -05:00
012_config_upgrade.go staticcheck 2020-12-02 13:59:19 -05:00
012_config_upgrade_test.go command/0.13upgrade: Remove this subcommand 2020-09-29 10:00:35 -07:00
013_config_upgrade.go staticcheck 2020-12-02 13:59:19 -05:00
013_config_upgrade_test.go command/0.13upgrade: Remove this subcommand 2020-09-29 10:00:35 -07:00
apply.go unused 2020-12-02 13:59:19 -05:00
apply_destroy_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
apply_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
autocomplete.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
autocomplete_test.go command: use newer version of "complete" library 2017-12-05 10:24:04 -08:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
command.go validate is no longer called from there 2020-12-02 13:59:19 -05:00
command_test.go command staticcheck 2020-12-02 13:59:19 -05:00
console.go console: normalize module path before building context (#27263) 2020-12-11 13:22:06 -05:00
console_interactive.go command: update "terraform console" for HCL2 2018-10-16 18:46:46 -07:00
console_interactive_solaris.go command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
console_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
flag_kv.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
fmt.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
fmt_test.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
get.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
get_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
graph.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
graph_test.go remove LegacyProvider (#26433) 2020-10-05 08:33:49 -04:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
hook_ui.go command: Remove stubbed-out apply diff output code 2020-07-22 14:19:00 -04:00
hook_ui_test.go Merge pull request #18823 from minamijoyo/fix-multibyte-trucate 2019-08-06 14:24:24 -04:00
import.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
import_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
init.go Merge pull request #27463 from hashicorp/pselle/get-plugins 2021-01-11 15:02:22 -05:00
init_test.go command/init: Remove the warnings about the "legacy" cache directory 2020-12-11 08:00:15 -08:00
login.go Add scopes support to password grant type 2020-09-15 19:32:41 -04:00
login_test.go Add command/login test for scopes 2020-09-15 19:30:48 -04:00
logout.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
logout_test.go command/logout: Add terraform logout command 2020-02-06 15:00:55 -05:00
meta.go command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
meta_backend.go Merge pull request #27498 from hashicorp/alisdair/fix-remote-terraform-version-check-again 2021-01-14 11:02:28 -05:00
meta_backend_migrate.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
meta_backend_test.go command staticcheck 2020-12-02 13:59:19 -05:00
meta_config.go remove unused code (#26503) 2020-10-07 11:00:06 -04:00
meta_dependencies.go command/init: Read, respect, and update provider dependency locks 2020-10-09 09:26:23 -07:00
meta_new.go prune dead code from command/meta 2019-07-18 16:11:41 -04:00
meta_providers.go command/init: Remove the warnings about the "legacy" cache directory 2020-12-11 08:00:15 -08:00
meta_test.go command staticcheck 2020-12-02 13:59:19 -05:00
meta_vars.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
output.go command/output: Raw output mode 2020-12-09 10:10:02 -08:00
output_test.go command/output: Raw output mode 2020-12-09 10:10:02 -08:00
plan.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
plan_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
plugins.go run built-in provisioners in-process 2020-12-02 12:45:00 -05:00
plugins_lock.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
plugins_lock_test.go command: remove unused method on pluginSHA256LockFile (#26402) 2020-09-29 08:46:51 -04:00
plugins_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
providers.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
providers_lock.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
providers_mirror.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
providers_schema.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
providers_schema_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
providers_test.go internal: Fix lockfile constraint output for 1.2.* 2020-10-20 10:14:03 -04:00
push.go command: remove "terraform push" 2018-10-16 18:24:47 -07:00
refresh.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
refresh_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
show.go backend/local: Use terminal properties to tweak the plan output 2021-01-13 15:37:04 -08:00
show_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list.go command staticcheck 2020-12-02 13:59:19 -05:00
state_list_test.go command/state list: list resources in nested and expanded modules (#27268) 2020-12-14 11:07:15 -05:00
state_meta.go command/state list: list resources in nested and expanded modules (#27268) 2020-12-14 11:07:15 -05:00
state_mv.go More verbose error for whole resource move failure 2021-01-12 13:21:25 -05:00
state_mv_test.go command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
state_pull.go command staticcheck 2020-12-02 13:59:19 -05:00
state_pull_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
state_push.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
state_push_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
state_replace_provider.go command staticcheck 2020-12-02 13:59:19 -05:00
state_replace_provider_test.go vendor: Upgrade mitchellh/cli 2020-09-10 15:23:02 -04:00
state_rm.go command staticcheck 2020-12-02 13:59:19 -05:00
state_rm_test.go deprecate helper/copy 2020-10-08 08:42:16 -04:00
state_show.go command staticcheck 2020-12-02 13:59:19 -05:00
state_show_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
state_test.go command: Allow tests to run to completion without panics or hangs 2018-10-16 19:14:11 -07:00
taint.go Show resource name in taint -allow-missing warning 2021-01-13 15:00:35 -05:00
taint_test.go command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
ui_input.go Exit with error if UI input scan fails (#26509) 2020-10-21 14:10:06 -04:00
ui_input_test.go Exit with error if UI input scan fails (#26509) 2020-10-21 14:10:06 -04:00
unlock.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
unlock_test.go remove legacy types from command package 2020-12-02 12:33:18 -05:00
untaint.go Add name to untaint missing warning 2021-01-13 15:14:19 -05:00
untaint_test.go command: Better visual hierarchy for diagnostics 2021-01-14 09:50:22 -08:00
validate.go command: Improve consistency of the command short descriptions 2020-10-26 09:55:21 -07:00
validate_test.go update MockProvider usage 2021-01-12 17:47:55 -05:00
version.go Remove revision from version command 2021-01-12 16:35:30 -05:00
version_test.go Remove revision from version command 2021-01-12 16:35:30 -05:00
workspace_command.go command staticcheck 2020-12-02 13:59:19 -05:00
workspace_command_test.go remove legacy types from command package 2020-12-02 12:33:18 -05:00
workspace_delete.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
workspace_list.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
workspace_new.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
workspace_select.go backend: Validate remote backend Terraform version 2020-11-19 13:19:40 -05:00
workspace_show.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00