From d6c1a4935fbd3f1f1a37f442693b84b78bdc8575 Mon Sep 17 00:00:00 2001 From: Josef Fortier Date: Sat, 23 Feb 2019 09:34:30 -0600 Subject: [PATCH] Change settings to a dictionary/array --- autoload/password_store.vim | 2 +- doc/vim-password-store.txt | 25 +++++++++++++++++++------ ftplugin/pass.vim | 15 +++++++++++++++ syntax/pass.vim | 1 + 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/autoload/password_store.vim b/autoload/password_store.vim index b5eaf90..9e3c5b6 100644 --- a/autoload/password_store.vim +++ b/autoload/password_store.vim @@ -11,7 +11,7 @@ set compatible&vim " Return vim to users choice function! password_store#generate() abort if executable('pwgen') - return systemlist('pwgen -N1 ' . g:password_store_pw_length )[0] + return systemlist('pwgen -N1 ' . g:password_store_settings.pw_length )[0] endif endfunction diff --git a/doc/vim-password-store.txt b/doc/vim-password-store.txt index eca22ab..1ffcf36 100644 --- a/doc/vim-password-store.txt +++ b/doc/vim-password-store.txt @@ -6,8 +6,9 @@ CONTENTS *password-store-contents* 1. Intro ........................................... |password-store-intro| 2. Requirements ............................. |password-store-requirements| 3. Usage ........................................... |password-store-usage| - 4. Licence ....................................... |password-store-licence| - 5. Credits ....................................... |password-store-credits| + 4. Configuration .................................. |password-store-config| + 5. Licence ....................................... |password-store-licence| + 6. Credits ....................................... |password-store-credits| =============================================================================== 1. Intro *password-store-intro* @@ -52,13 +53,25 @@ an alternate plug mapping The mapped sequence will generate a random password. As neither decrement nor increment mean anything in this context, buth are mapped to the same plug. The default length of the password is 10 character, but -modifiable by altering the global g:password_store_pwlength +modifiable by configuration This is also available via the function call(s) > - let g:password_store_pwlength = 20 + password_store#replace() < -This is also available via the function call(s) +4. Configuration *password-store-config* + +Configuration is done through a global dictionary *g:password_store_settings* +Initialize the dictionary and add settings as needed > - password_store#replace() + let g:password_store_settings = {} + +Syntax obfustaction is enabled by default. To disable it: +> + let g:password_store_settings.enable_syntax = 'false" + + +Auto "increment" password length is 12 characters. To change it +> + let g:password_store_settings.pw_length = 20 < 4. Licence *password-store-licence* diff --git a/ftplugin/pass.vim b/ftplugin/pass.vim index 1373778..66b91c7 100644 --- a/ftplugin/pass.vim +++ b/ftplugin/pass.vim @@ -6,6 +6,21 @@ let s:save_cpo = &cpoptions set compatible&vim +let s:default_settings = { + \ 'pw_length' : '12', + \ 'enable_syntax' : 'true', + \ } + +if ! exists('g:password_store_settings') + let g:password_store_settings = {} +endif + +for s:setting in keys(s:default_settings) + if ! has_key( g:password_store_settings, s:setting ) + let g:password_store_settings[s:setting] = s:default_settings[s:setting] + endif +endfor + if ! exists('g:password_store_pw_length') let g:password_store_pw_length = 12 endif diff --git a/syntax/pass.vim b/syntax/pass.vim index b925920..2613069 100644 --- a/syntax/pass.vim +++ b/syntax/pass.vim @@ -1,4 +1,5 @@ if exists('b:current_syntax') | finish| endif +if g:password_store_settings.enable_syntax != 'true' | finish | endif " set redacted colors from colorscheme let s:error_highlight_str = execute( 'highlight Error' ) -- 2.39.2