mirror of
https://github.com/inkarkat/vim-ingo-library.git
synced 2026-05-29 11:18:51 +02:00
40 lines
1.3 KiB
VimL
40 lines
1.3 KiB
VimL
" ingo/print.vim: Functions for printling lines.
|
|
"
|
|
" DEPENDENCIES:
|
|
" - ingo/window/dimensions.vim autoload script
|
|
"
|
|
" 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.015.001 22-Nov-2013 file creation
|
|
|
|
function! ingo#print#Number( lnum, ... )
|
|
"******************************************************************************
|
|
"* PURPOSE:
|
|
" Like :number, but does not move the cursor to the line, and only prints the
|
|
" passed a:lnum, not all lines in a (potential) closed fold.
|
|
"* ASSUMPTIONS / PRECONDITIONS:
|
|
" None.
|
|
"* EFFECTS / POSTCONDITIONS:
|
|
" :echos output.
|
|
"* INPUTS:
|
|
" a:lnum Line number; when the line does not exist, nothing is printed.
|
|
" a:hlgroup Optional highlight group for the number, default is "LineNr".
|
|
"* RETURN VALUES:
|
|
" 1 is line exists and was printed; 0 otherwise.
|
|
"******************************************************************************
|
|
if a:lnum < 1 || a:lnum > line('$')
|
|
return 0
|
|
endif
|
|
|
|
execute 'echohl' (a:0 ? a:1 : 'LineNr')
|
|
echo printf('%' . (ingo#window#dimensions#GetNumberWidth(1) - 1) . 'd ', a:lnum)
|
|
echohl None
|
|
echon getline(a:lnum)
|
|
endfunction
|
|
|
|
" vim: set ts=8 sts=4 sw=4 noexpandtab ff=unix fdm=syntax :
|