mirror of
https://github.com/inkarkat/vim-ingo-library.git
synced 2026-05-29 11:18:51 +02:00
34 lines
1.1 KiB
VimL
34 lines
1.1 KiB
VimL
" ingo/number.vim: Functions for dealing with numbers.
|
|
"
|
|
" DEPENDENCIES:
|
|
"
|
|
" Copyright: (C) 2013 Ingo Karkat
|
|
" The VIM LICENSE applies to this script; see ':help copyright'.
|
|
"
|
|
" Maintainer: Ingo Karkat <ingo@karkat.de>
|
|
"
|
|
" REVISION DATE REMARKS
|
|
" 1.005.001 12-Apr-2013 file creation
|
|
|
|
function! ingo#number#DecimalStringIncrement( number, offset )
|
|
"******************************************************************************
|
|
"* PURPOSE:
|
|
" Increment the decimal number in a:number by a:offset while keeping (the
|
|
" width of) leading zeros.
|
|
"* ASSUMPTIONS / PRECONDITIONS:
|
|
" None.
|
|
"* EFFECTS / POSTCONDITIONS:
|
|
" None.
|
|
"* INPUTS:
|
|
" a:number String (or number) to be incremented.
|
|
" a:offset Offset to add to a:number.
|
|
"* RETURN VALUES:
|
|
" Incremented number as String.
|
|
"******************************************************************************
|
|
" Note: Need to use str2nr() to avoid interpreting leading zeros as octal
|
|
" number.
|
|
return printf('%0' . strlen(a:number) . 'd', str2nr(a:number) + a:offset)
|
|
endfunction
|
|
|
|
" vim: set ts=8 sts=4 sw=4 noexpandtab ff=unix fdm=syntax :
|