From 421111f474add93d16e66529b286fc07ecfb63af Mon Sep 17 00:00:00 2001 From: jdhao Date: Fri, 15 Oct 2021 23:20:35 +0800 Subject: refactor: load colorschemes randomly In Emacs, there is `seq-random-elt` which randomly selects an element from a sequence. We mimic it here in Neovim. Ref: https://www.gnu.org/software/emacs/manual/html_node/elisp/Sequence-Functions.html. --- autoload/utils.vim | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'autoload/utils.vim') diff --git a/autoload/utils.vim b/autoload/utils.vim index d1a4a47..9ab0991 100644 --- a/autoload/utils.vim +++ b/autoload/utils.vim @@ -49,6 +49,13 @@ function! utils#RandInt(Low, High) abort return v:lua.math.random(a:Low, a:High) endfunction +" Selection a random element from a sequence/list +function! utils#RandElement(seq) abort + let l:idx = utils#RandInt(0, len(a:seq)-1) + + return a:seq[l:idx] +endfunction + " Custom fold expr, adapted from https://vi.stackexchange.com/a/9094/15292 function! utils#VimFolds(lnum) abort " get content of current line and the line below -- cgit v1.2.3