# Don't change this file
[global]
write_access = false
run_commands = false
hide_settings = false
max_file_size = 10
cache_file_depth = 5
conf_validate_on_save = true
git_autocommit = false
git_autocommit_show_output = auto
git_autocommit_dir = 
git_autocommit_work_tree = 
btool_dirs = 
detect_changed_files = true
btool_dir_for_deployment_apps = 
btool_dir_for_master_apps = 
btool_dir_for_manager_apps = 
btool_dir_for_shcluster_apps = 
# feel free to add these configs too: |restmap|web|inputs
master_apps_gutter_unnecissary_config_files = alert_actions|addon_builder|checklist|collections|datamodels|deploymentclient|distsearch|eventgen|eventtypes|macros|savedsearches|tags|times|wmi|workflow_actions
master_apps_gutter_useful_props_and_transforms = priority|TRUNCATE|LINE_BREAKER|LINE_BREAKER_LOOKBEHIND|SHOULD_LINEMERGE|BREAK_ONLY_BEFORE_DATE|BREAK_ONLY_BEFORE|MUST_BREAK_AFTER|MUST_NOT_BREAK_AFTER|MUST_NOT_BREAK_BEFORE|DATETIME_CONFIG|TIME_PREFIX|MAX_TIMESTAMP_LOOKAHEAD|TIME_FORMAT|TZ|TZ_ALIAS|MAX_DAYS_AGO|MAX_DAYS_HENCE|MAX_DIFF_SECS_AGO|MAX_DIFF_SECS_HENCE|ADD_EXTRA_TIME_FIELDS|METRICS_PROTOCOL|STATSD-DIM-TRANSFORMS|TRANSFORMS|CHECK_FOR_HEADER|SEDCMD|SEGMENTATION|ANNOTATE_PUNCT|description|category|REGEX|FORMAT|MATCH_LIMIT|DEPTH_LIMIT|CLONE_SOURCETYPE|LOOKAHEAD|WRITE_META|DEST_KEY|DEFAULT_VALUE|SOURCE_KEY|REPEAT_MATCH|INGEST_EVAL|REGEX|REMOVE_DIMS_FROM_METRIC_NAME|METRIC
master_apps_gutter_used_sourcetypes = 
master_apps_gutter_used_sourcetypes_date =
# feel free to add these configs too: |restmap|web|inputs
manager_apps_gutter_unnecissary_config_files = alert_actions|addon_builder|checklist|collections|datamodels|deploymentclient|distsearch|eventgen|eventtypes|macros|savedsearches|tags|times|wmi|workflow_actions
manager_apps_gutter_useful_props_and_transforms = priority|TRUNCATE|LINE_BREAKER|LINE_BREAKER_LOOKBEHIND|SHOULD_LINEMERGE|BREAK_ONLY_BEFORE_DATE|BREAK_ONLY_BEFORE|MUST_BREAK_AFTER|MUST_NOT_BREAK_AFTER|MUST_NOT_BREAK_BEFORE|DATETIME_CONFIG|TIME_PREFIX|MAX_TIMESTAMP_LOOKAHEAD|TIME_FORMAT|TZ|TZ_ALIAS|MAX_DAYS_AGO|MAX_DAYS_HENCE|MAX_DIFF_SECS_AGO|MAX_DIFF_SECS_HENCE|ADD_EXTRA_TIME_FIELDS|METRICS_PROTOCOL|STATSD-DIM-TRANSFORMS|TRANSFORMS|CHECK_FOR_HEADER|SEDCMD|SEGMENTATION|ANNOTATE_PUNCT|description|category|REGEX|FORMAT|MATCH_LIMIT|DEPTH_LIMIT|CLONE_SOURCETYPE|LOOKAHEAD|WRITE_META|DEST_KEY|DEFAULT_VALUE|SOURCE_KEY|REPEAT_MATCH|INGEST_EVAL|REGEX|REMOVE_DIMS_FROM_METRIC_NAME|METRIC
manager_apps_gutter_used_sourcetypes = 
manager_apps_gutter_used_sourcetypes_date =

[hook]
disabled = false
showWithSave = true 
order = 10
matchtype = file
showInPane = both

[action]
disabled = false
order = 10

[hook:btool]
# when editing .conf files in local or default, have an option to run btool
# note we want to exclude deployment-apps, master-apps, manager-apps and shcluster
match = etc/(?:system|apps/.*?|users/.*?)/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE}
action = btool:${BASEFILE}

[hook:btool-hidesystemdefaults]
# when editing .conf files in local or default, have an option to run btool
# note we want to exclude deployment-apps, master-apps, manager-apps and shcluster
match = etc/(?:system|apps/.*?|users/.*?)/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE} (hide system/default)
action = btool-hidesystemdefaults:${BASEFILE}

[hook:btool_master-apps]
# when editing .conf files in master-apps local or default, have an option to run btool
match = /master-apps/[^\/]*/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE} [master-apps]
action = btool:${BASEFILE}:master-apps

[hook:btool-hidesystemdefaults_master-apps]
# when editing .conf files in master-apps local or default, have an option to run btool
match = /master-apps/[^\/]*/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE} (hide system/default) [master-apps]
action = btool-hidesystemdefaults:${BASEFILE}:master-apps

[hook:btool_manager-apps]
# when editing .conf files in manager-apps local or default, have an option to run btool
match = /manager-apps/[^\/]*/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE} [manager-apps]
action = btool:${BASEFILE}:manager-apps

[hook:btool-hidesystemdefaults_manager-apps]
# when editing .conf files in manager-apps local or default, have an option to run btool
match = /manager-apps/[^\/]*/(?:local|default)/[^\/]*\.conf$
matchtype = file
showWithSave = false
label = Run btool on ${BASEFILE} (hide system/default) manager-apps]
action = btool-hidesystemdefaults:${BASEFILE}:manager-apps


[hook:spec]
# when editing .conf files in local or default, have an option to show the spec files
showWithSave = false
match = /(?:local|default)/[^\/]*\.conf$
label = Open ${BASEFILE}.spec
action = spec:${BASEFILE}

[hook:python_run]
# when editing .py files in bin, have an option to run them as 'splunk cmd'
# This will only show if run_commands=true in the config file
match = .*/bin/.*\.py$
label = Run in Splunk env
action = run:splunk cmd python ${FILE}

[hook:viz_run_build]
# when editing vizulisations, have an option to build them as 'npm run build'
# This will only show if run_commands=true in the config file
match = \/appserver\/static\/visualizations\/
label = npm run build
action = run:cd ${DIRNAME} && npm run build

[hook:bump]
# when editing anything in the static folder, have an option to trigger a bump
# bumping isnt required if you setup your Splunk environment for development
match = /appserver/static/
label = Bump Splunk cache
action = bump

# below here are the debug/refresh which we only define for some specific files
[hook:nav]
# when editing .xml files in ui/nav, have an option to run debug refresh on nav endpoint
match = /ui/nav/.*\.xml$
label = Debug/refresh nav
action = refresh:data/ui/nav

[hook:html]
# when editing .html or xml files in ui/html, have an option to run debug refresh on views endpoint
match = /ui/(?:html|views)/.*\.(?:ht|x)ml$
label = Debug/refresh views
action = refresh:data/ui/views

[hook:collections]
# when editing collections.conf files, have an option to run debug refresh on collections endpoint
match = /collections\.conf$
label = Debug/refresh collections-conf
action = refresh:admin/collections-conf

[hook:inputs]
# when editing inputs.conf files, have an option to run debug refresh on inputs endpoint
match = /inputs\.conf$
label = Debug/refresh conf-inputs
action = refresh:admin/conf-inputs

[hook:indexes]
# when editing index.conf files, have an option to run debug refresh on indexes endpoint
match = /indexes\.conf$
label = Debug/refresh indexes
action = refresh:admin/indexes

[hook:savedsearch]
# when editing savedsearches.conf files, have an option to run debug refresh on savedsearches endpoint
match = /savedsearches\.conf$
label = Debug/refresh savedsearch
action = refresh:admin/savedsearch

[hook:serverclass]
# when editing serverclass.conf files, have an option to run debug refresh on serverclasses endpoint
# might need admin/deploymentserver
match = /serverclass\.conf$
label = Debug/refresh serverclasses
action = refresh:admin/serverclasses

[hook:deploymentappsreload_file]
# when editing files in deployment-apps, have an option to reload deploy-server
match = /deployment-apps/
label = Reload deploy-server
action = deployserver

[hook:deploymentappsreload_folder]
# when editing files in deployment-apps, have an option to reload deploy-server
match = /deployment-apps/
matchtype = folder
label = Reload deploy-server
action = deployserver

# These next two hooks are special for for the "Settings" screen.
[hook:settings_spec]
showWithSave = false
match = ^$
label = Open documentation (.spec file)
action = spec:config_explorer.conf

[hook:settings_examples]
showWithSave = false
match = ^$
label = Show out-of-the-box hooks
action = read:./etc/apps/config_explorer/default/config_explorer.conf


[hook:open_folder_tree_to_file_location]
match = .*
matchtype = file
showWithSave = false
label = Open folder tree to file location
action = cd:${DIRNAME}
showInPane = editor

[hook:copy_full_file_path_to_clipboard]
match = .*
matchtype = file
label = Copy full file path to clipboard
action = clipboard:${FILE}
showWithSave = false
showInPane = tree

[hook:copy_filename_to_clipboard]
match = .*
matchtype = file
label = Copy file name to clipboard
action = clipboard:${BASEFILE}
showWithSave = false
showInPane = tree

[hook:copy_full_folder_path_to_clipboard]
match = .*
matchtype = folder
label = Copy full folder path to clipboard
action = clipboard:${FILE}
showWithSave = false
showInPane = tree

[hook:copy_foldername_to_clipboard]
match = .*
matchtype = folder
label = Copy folder name to clipboard
action = clipboard:${BASEFILE}
showWithSave = false
showInPane = tree