mirror of
https://github.com/preservim/vim-wordy.git
synced 2025-11-10 02:43:48 -05:00
First cut of experimental ring of dictionaries
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
* Includes 16 dictionaries covering different types of word usage
|
* Includes 16 dictionaries covering different types of word usage
|
||||||
* Buffer-scoped configuration (leaves your global settings alone)
|
* Buffer-scoped configuration (leaves your global settings alone)
|
||||||
* Unicode-friendly, including support for ‘typographic quotes’
|
* Unicode-friendly, including support for ‘typographic quotes’
|
||||||
|
* User-configurable ring of dictionaries
|
||||||
|
|
||||||
## What is _wordy_?
|
## What is _wordy_?
|
||||||
|
|
||||||
@@ -55,6 +56,8 @@ package manager.
|
|||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
### On demand
|
||||||
|
|
||||||
You’ll typically use this plugin on-demand. It does not require any
|
You’ll typically use this plugin on-demand. It does not require any
|
||||||
special configuration.
|
special configuration.
|
||||||
|
|
||||||
@@ -74,6 +77,30 @@ Press ENTER or type command to continue
|
|||||||
As instructed, press the enter key and it will disturb you no longer, at
|
As instructed, press the enter key and it will disturb you no longer, at
|
||||||
least until _wordy_ feels the urge to build again.
|
least until _wordy_ feels the urge to build again.
|
||||||
|
|
||||||
|
### Ring
|
||||||
|
|
||||||
|
Optionally map a key in your `.vimrc` to rapidly cycle among available dictionaries:
|
||||||
|
|
||||||
|
```
|
||||||
|
nnoremap <silent> K :NextWordy<cr>
|
||||||
|
```
|
||||||
|
|
||||||
|
In addition, you can define your own ring of dictionaries. This is the
|
||||||
|
default, which you can override in your `.vimrc`:
|
||||||
|
|
||||||
|
```
|
||||||
|
let g:wordy#ring = [
|
||||||
|
\ 'jargon' ,
|
||||||
|
\ 'passive' ,
|
||||||
|
\ 'puffery' ,
|
||||||
|
\ 'redundant' ,
|
||||||
|
\ 'to-be' ,
|
||||||
|
\ 'trite' ,
|
||||||
|
\ 'weak' ,
|
||||||
|
\ 'weasel' ,
|
||||||
|
\ ]
|
||||||
|
```
|
||||||
|
|
||||||
## Using _wordy_
|
## Using _wordy_
|
||||||
|
|
||||||
You’ll use the commands that follow to enable _wordy_. To disable it and
|
You’ll use the commands that follow to enable _wordy_. To disable it and
|
||||||
|
|||||||
@@ -61,4 +61,48 @@ function! wordy#init(...) abort
|
|||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
function! wordy#jump(mode)
|
||||||
|
let g:wordy = s:wordy_get(a:mode)
|
||||||
|
let l:entry = get(g:wordy#data, g:wordy, [])
|
||||||
|
if len(l:entry) > 0
|
||||||
|
call wordy#init({ 'd': l:entry[0] })
|
||||||
|
echo g:wordy . ': ' . l:entry[1]
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:wordy_get(mode)
|
||||||
|
let l:avail_count = len(g:wordy#ring)
|
||||||
|
let l:new_n = -1
|
||||||
|
if a:mode == '#first'
|
||||||
|
let l:new_n = 0
|
||||||
|
elseif a:mode == '#last'
|
||||||
|
let l:new_n = l:avail_count - 1
|
||||||
|
elseif a:mode == '#random'
|
||||||
|
let l:new_n =
|
||||||
|
\ str2nr(matchstr(reltimestr(reltime()), '\v\.@<=\d+')[1:])
|
||||||
|
\ % l:avail_count
|
||||||
|
elseif a:mode == '#next' || a:mode == '#previous'
|
||||||
|
let l:current_n = index(g:wordy#ring, g:wordy)
|
||||||
|
if a:mode == '#next'
|
||||||
|
if l:current_n == -1 || l:current_n == l:avail_count - 1
|
||||||
|
let l:new_n = 0
|
||||||
|
else
|
||||||
|
let l:new_n = l:current_n + 1
|
||||||
|
endif
|
||||||
|
elseif a:mode == '#previous'
|
||||||
|
if l:current_n <= 0
|
||||||
|
let l:new_n = l:avail_count - 1
|
||||||
|
else
|
||||||
|
let l:new_n = l:current_n - 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if l:new_n == -1
|
||||||
|
return a:mode
|
||||||
|
else
|
||||||
|
return g:wordy#ring[l:new_n]
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
" vim:ts=2:sw=2:sts=2
|
" vim:ts=2:sw=2:sts=2
|
||||||
|
|||||||
@@ -39,21 +39,40 @@ command -nargs=0 OpineWordy call wordy#init({ 'd': ['opinion',] })
|
|||||||
command -nargs=0 SaidWordy call wordy#init({ 'd': ['said-synonyms',] })
|
command -nargs=0 SaidWordy call wordy#init({ 'd': ['said-synonyms',] })
|
||||||
command -nargs=0 AintWordy call wordy#init({ 'd': ['contractions',] })
|
command -nargs=0 AintWordy call wordy#init({ 'd': ['contractions',] })
|
||||||
|
|
||||||
" tools for creative writing
|
command -nargs=0 NextWordy call wordy#jump('#next')
|
||||||
command -nargs=0 CreativeWordy call wordy#init({ 'd': [ 'being',
|
command -nargs=0 PrevWordy call wordy#jump('#prev')
|
||||||
\ 'colloquial',
|
|
||||||
\ 'idiomatic',
|
|
||||||
\ 'business-jargon',
|
|
||||||
\ 'art-jargon',
|
|
||||||
\ 'weasel',
|
|
||||||
\ 'opinion',
|
|
||||||
\ 'passive-voice',
|
|
||||||
\ 'puffery',
|
|
||||||
\ 'redundant',
|
|
||||||
\ 'similies',
|
|
||||||
\ 'weak',
|
|
||||||
\ ]})
|
|
||||||
|
|
||||||
|
let g:wordy = ''
|
||||||
|
|
||||||
|
" ordered list of keys into s:wordy#data; user configurable
|
||||||
|
if !exists('g:wordy#ring')
|
||||||
|
let g:wordy#ring = [
|
||||||
|
\ 'jargon' ,
|
||||||
|
\ 'passive' ,
|
||||||
|
\ 'puffery' ,
|
||||||
|
\ 'redundant' ,
|
||||||
|
\ 'to-be' ,
|
||||||
|
\ 'trite' ,
|
||||||
|
\ 'weak' ,
|
||||||
|
\ 'weasel' ,
|
||||||
|
\ ]
|
||||||
|
endif
|
||||||
|
|
||||||
|
if !exists('g:wordy#data')
|
||||||
|
let g:wordy#data = {
|
||||||
|
\ 'to-be' : [['being' ], 'Subject-verb agreement' ],
|
||||||
|
\ 'trite' : [['colloquial' ,
|
||||||
|
\ 'idiomatic' ,
|
||||||
|
\ 'similies' ], 'colloquialisms, idioms, and similes' ],
|
||||||
|
\ 'jargon' : [['business-jargon' ], 'insidery jargon for business' ],
|
||||||
|
\ 'weasel' : [['weasel' ], 'manipulative and equivocating words and phrases' ],
|
||||||
|
\ 'passive' : [['being' ,
|
||||||
|
\ 'passive-voice' ], 'can be used to avoid responsibility for actions taken' ],
|
||||||
|
\ 'puffery' : [['puffery' ], 'statements and claims that express subjective rather than objective views' ],
|
||||||
|
\ 'redundant' : [['redundant' ], 'redundant phrasings' ],
|
||||||
|
\ 'weak' : [['weak' ], 'weak and lazy language' ],
|
||||||
|
\ }
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
unlet s:save_cpo
|
unlet s:save_cpo
|
||||||
|
|||||||
Reference in New Issue
Block a user