aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/.local/share/nvim/site/autoload/neomake/config.vim
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/.local/share/nvim/site/autoload/neomake/config.vim')
-rw-r--r--dotfiles/.local/share/nvim/site/autoload/neomake/config.vim192
1 files changed, 0 insertions, 192 deletions
diff --git a/dotfiles/.local/share/nvim/site/autoload/neomake/config.vim b/dotfiles/.local/share/nvim/site/autoload/neomake/config.vim
deleted file mode 100644
index 5f03cd1..0000000
--- a/dotfiles/.local/share/nvim/site/autoload/neomake/config.vim
+++ /dev/null
@@ -1,192 +0,0 @@
-" Config API.
-
-let g:neomake#config#_defaults = {
- \ 'maker_defaults': {
- \ 'buffer_output': 1,
- \ 'output_stream': 'both',
- \ 'remove_invalid_entries': 0,
- \ }}
-lockvar g:neomake#config#_defaults
-
-let g:neomake#config#undefined = {}
-lockvar! g:neomake#config#undefined
-
-" Resolve a:name (split on dots) and (optionally) init a:dict accordingly.
-function! s:resolve_name(dict, name, init) abort
- let parts = type(a:name) == type([]) ? a:name : split(a:name, '\.')
- let c = a:dict
- for p in parts[0:-2]
- if !has_key(c, p)
- if !a:init
- return [g:neomake#config#undefined, '']
- endif
- let c[p] = {}
- endif
- if type(c[p]) != type({})
- return [g:neomake#config#undefined, '']
- endif
- let c = c[p]
- endfor
- return [c, parts[-1]]
-endfunction
-
-" Get a:name (list of keys) from a:dict, using a:prefixes.
-function! s:get(dict, parts, prefixes) abort
- for prefix in a:prefixes
- let [c, k] = s:resolve_name(a:dict, prefix + a:parts[0:-1], 0)
- if has_key(c, k)
- return [prefix, get(c, k)]
- endif
- endfor
- return [[], g:neomake#config#undefined]
-endfunction
-
-" Get a:name (string (split on dots), or list of keys) from config.
-" See neomake#config#get_with_source for args.
-function! neomake#config#get(name, ...) abort
- return call('neomake#config#get_with_source', [a:name] + a:000)[0]
-endfunction
-
-" Get a:name (string (split on dots), or list of keys) from config, with
-" information about the setting's source ('buffer', 'tab', 'global', 'maker',
-" 'default').
-" Optional args:
-" - a:1: default value
-" - a:2: context: defaults to {'ft': &filetype}
-" - maker: a maker dict (where maker.name is used from for prefixes, and
-" as a lookup itself)
-" - ft: filetype string (use an empty string to ignore it)
-" - bufnr: buffer number (use an empty string to ignore it)
-" - maker_only: should settings get looked up only in the maker context?
-" (i.e. with maker.name prefix in general and in context.maker)
-" - log_source: additional information to log.
-function! neomake#config#get_with_source(name, ...) abort
- let context = a:0 > 1 ? a:2 : {'ft': &filetype, 'bufnr': bufnr('%')}
- let parts = type(a:name) == type([]) ? a:name : split(a:name, '\.')
-
- let prefixes = [[]]
- if has_key(context, 'ft') && !empty(context.ft)
- for ft in neomake#utils#get_config_fts(context.ft, '.')
- call insert(prefixes, ['ft', ft], 0)
- endfor
- endif
-
- let maker_name = get(get(context, 'maker', {}), 'name', '')
- let maker_only = get(context, 'maker_only', 0)
- if parts[0][0:1] ==# 'b:'
- if !has_key(context, 'bufnr')
- let context.bufnr = bufnr('%')
- endif
- let parts[0] = parts[0][2:-1]
- if context.bufnr is# ''
- let lookups = []
- else
- let lookups = [['buffer', getbufvar(context.bufnr, 'neomake')]]
- endif
- call add(lookups, ['maker', get(context, 'maker', {})])
- elseif empty(maker_name) && maker_only
- let lookups = [['maker', get(context, 'maker', {})]]
- else
- let lookups = (has_key(context, 'bufnr') && context.bufnr isnot# ''
- \ ? [['buffer', getbufvar(context.bufnr, 'neomake')]]
- \ : []) + [
- \ ['tab', get(t:, 'neomake', {})],
- \ ['global', get(g:, 'neomake', {})],
- \ ['maker', get(context, 'maker', {})]]
- if !empty(maker_name)
- if maker_only
- if parts[0] !=# maker_name
- call map(prefixes, 'add(v:val, maker_name)')
- endif
- else
- for prefix in reverse(copy(prefixes))
- call insert(prefixes, prefix + [maker_name], 0)
- endfor
- endif
- endif
- endif
-
- for [source, lookup] in lookups
- if !empty(lookup)
- if source ==# 'maker'
- let maker_prefixes = map(copy(prefixes), '!empty(v:val) && v:val[-1] ==# maker_name ? v:val[:-2] : v:val')
- let maker_setting_parts = parts[0] == maker_name ? parts[1:] : parts
- let [prefix, l:R] = s:get(lookup, maker_setting_parts, maker_prefixes)
- else
- let [prefix, l:R] = s:get(lookup, parts, prefixes)
- endif
- if R isnot# g:neomake#config#undefined
- let log_name = join(map(copy(parts), "substitute(v:val, '\\.', '|', '')"), '.')
- let log_source = get(context, 'log_source', '')
- call neomake#log#debug(printf(
- \ "Using setting %s=%s from '%s'%s%s.",
- \ log_name, string(R), source,
- \ empty(prefix) ? '' : ' (prefix: '.string(prefix).')',
- \ empty(log_source) ? '' : ' ('.log_source.')'),
- \ context)
- return [R, source]
- endif
- unlet R " for Vim without patch-7.4.1546
- endif
- unlet lookup " for Vim without patch-7.4.1546
- endfor
-
- " Return default.
- if a:0
- return [a:1, 'default']
- elseif has_key(g:neomake#config#_defaults, a:name)
- return [copy(g:neomake#config#_defaults[a:name]), 'default']
- endif
- return [g:neomake#config#undefined, 'default']
-endfunction
-
-
-" Set a:name in a:dict to a:value, after resolving it (split on dots).
-function! s:set(dict, name, value) abort
- let [c, k] = s:resolve_name(a:dict, a:name, 1)
- let c[k] = a:value
- return c
-endfunction
-
-" Set a:name (resolved on dots) to a:value in the config.
-function! neomake#config#set(name, value) abort
- let parts = type(a:name) == type([]) ? a:name : split(a:name, '\.')
- if parts[0] =~# '^b:'
- let parts[0] = parts[0][2:-1]
- return neomake#config#set_buffer(bufnr('%'), parts, a:value)
- endif
- if !has_key(g:, 'neomake')
- let g:neomake = {}
- endif
- return s:set(g:neomake, parts, a:value)
-endfunction
-
-" Set a:name (resolved on dots) to a:value for buffer a:bufnr.
-function! neomake#config#set_buffer(bufnr, name, value) abort
- let bufnr = +a:bufnr
- let bneomake = getbufvar(bufnr, 'neomake')
- if bneomake is# ''
- unlet bneomake " for Vim without patch-7.4.1546
- let bneomake = {}
- call setbufvar(bufnr, 'neomake', bneomake)
- endif
- return s:set(bneomake, a:name, a:value)
-endfunction
-
-" Set a:name (resolved on dots) to a:value in a:scope.
-" This is meant for advanced usage, e.g.:
-" set_scope(t:, 'neomake.disabled', 1)
-function! neomake#config#set_dict(dict, name, value) abort
- return s:set(a:dict, a:name, a:value)
-endfunction
-
-" Unset a:name (resolved on dots).
-" This is meant for advanced usage, e.g.:
-" unset_dict(t:, 'neomake.disabled', 1)
-function! neomake#config#unset_dict(dict, name) abort
- let [c, k] = s:resolve_name(a:dict, a:name, 0)
- if has_key(c, k)
- unlet c[k]
- endif
-endfunction
-" vim: ts=4 sw=4 et