cleaned
This commit is contained in:
@@ -27,15 +27,15 @@ function denote#notes#grep(re)
|
||||
endfunction
|
||||
|
||||
" This creates a new denote entry with the given title and of the given
|
||||
" filetype. The title may be empty.
|
||||
function denote#notes#new(title, ft=g:denote_new_ft)
|
||||
" extension. The title may be empty.
|
||||
function denote#notes#new(title, ext=g:denote_new_ext)
|
||||
let l:identifier = g:Denote_identifier_fun()
|
||||
let l:fn = denote#meta#filename(a:ft, l:identifier, a:title)
|
||||
let l:fn = g:denote_directory .. '/' .. libdenote#scheme_filename(a:ext, l:identifier, a:title)
|
||||
" Jump to window this location list belongs to
|
||||
call denote#loclist#jumptowindow()
|
||||
" Open file and write front matter
|
||||
exe 'edit ' l:fn
|
||||
call setline(1, denote#frontmatter#new(a:ft, l:identifier, a:title))
|
||||
call setline(1, libdenote#fm_gen(a:ext, l:identifier, a:title))
|
||||
endfunction
|
||||
|
||||
" Function to set the title of the selected entry
|
||||
@@ -48,22 +48,25 @@ function denote#notes#settitle(linenr, title)
|
||||
let l:item = l:items[a:linenr-1]
|
||||
let l:bufnr = l:item['bufnr']
|
||||
let l:filename = bufname(l:bufnr)
|
||||
let l:noteid = denote#meta#noteIdFromFile(l:filename)
|
||||
let l:notetags = denote#meta#noteTagsFromFile(l:filename)
|
||||
let l:notesignature = denote#meta#noteSignatureFromFile(l:filename)
|
||||
let l:oldtitle = denote#meta#noteTitleFromFile(l:filename)
|
||||
let l:meta = libdenote#scheme_metadata(l:filename)
|
||||
let l:ext = fnamemodify(l:filename, ':e')
|
||||
let l:newfilename = denote#meta#filename(l:ext, l:noteid, a:title, l:notetags, l:notesignature)
|
||||
let l:newfilename = g:denote_directory .. '/' .. libdenote#scheme_filename(l:ext, l:meta.id, a:title, l:meta.tags, l:meta.sig)
|
||||
" If this note has a front matter, we rewrite the front matter and rename the
|
||||
" file. Otherwise, we rename the file only.
|
||||
if index(g:denote_note_file_extensions, l:ext) >= 0
|
||||
" Handle front matter
|
||||
call denote#frontmatter#setTitle(l:filename, a:title)
|
||||
call bufload(l:filename)
|
||||
let l:frontmatter = getbufline(l:filename,
|
||||
\ 1, 1 + libdenote#fm_len(fnamemodify(l:filename, ':e')))
|
||||
let l:frontmatter = libdenote#fm_alter(l:frontmatter, {'title': a:title})
|
||||
call setbufline(l:filename, 1, l:frontmatter)
|
||||
let curl=line('.')
|
||||
call denote#loclist#jumptowindow()
|
||||
exe l:bufnr .. 'buf'
|
||||
exe 'silent buf ' .. l:bufnr
|
||||
exe 'silent file ' .. l:newfilename
|
||||
exe 'silent w'
|
||||
exe 'lopen'
|
||||
exe curl
|
||||
if fnamemodify(l:filename, ':t') != fnamemodify(l:newfilename, ':t')
|
||||
call delete(l:filename)
|
||||
endif
|
||||
@@ -87,32 +90,34 @@ function denote#notes#tagmod(line1, line2, tag, add)
|
||||
let l:item = l:items[i-1]
|
||||
let l:bufnr = l:item['bufnr']
|
||||
let l:filename = bufname(l:bufnr)
|
||||
let l:noteid = denote#meta#noteIdFromFile(l:filename)
|
||||
let l:notetags = denote#meta#noteTagsFromFile(l:filename)
|
||||
let l:idx = index(l:notetags, a:tag)
|
||||
let l:meta = libdenote#scheme_metadata(l:filename)
|
||||
let l:idx = index(l:meta.tags, a:tag)
|
||||
if a:add
|
||||
if l:idx >= 0
|
||||
continue
|
||||
endif
|
||||
call add(l:notetags, a:tag)
|
||||
call add(l:meta.tags, a:tag)
|
||||
else
|
||||
if l:idx == -1
|
||||
continue
|
||||
endif
|
||||
call remove(l:notetags, l:idx)
|
||||
call remove(l:meta.tags, l:idx)
|
||||
endif
|
||||
let l:notesignature = denote#meta#noteSignatureFromFile(l:filename)
|
||||
let l:title = denote#meta#noteTitleFromFile(l:filename)
|
||||
let l:ext = fnamemodify(l:filename, ':e')
|
||||
let l:newfilename = denote#meta#filename(l:ext, l:noteid, l:title, l:notetags, l:notesignature)
|
||||
let l:newfilename = g:denote_directory .. '/' .. libdenote#scheme_filename(l:ext, l:meta.id, l:meta.title, l:meta.tags, l:meta.sig)
|
||||
if index(g:denote_note_file_extensions, l:ext) >= 0
|
||||
" Handle front matter
|
||||
call denote#frontmatter#setTags(l:filename, l:notetags)
|
||||
call bufload(l:filename)
|
||||
let l:frontmatter = getbufline(l:filename, 1, 1 + libdenote#fm_len(fnamemodify(l:filename, ':e')))
|
||||
let l:frontmatter = libdenote#fm_alter(l:frontmatter, {'tags': l:meta.tags})
|
||||
call setbufline(l:filename, 1, l:frontmatter)
|
||||
let curl=line('.')
|
||||
call denote#loclist#jumptowindow()
|
||||
exe l:bufnr .. 'buf'
|
||||
exe 'silent buf ' .. l:bufnr
|
||||
exe 'silent file ' .. l:newfilename
|
||||
exe 'silent w'
|
||||
exe 'lopen'
|
||||
exe curl
|
||||
call delete(l:filename)
|
||||
else
|
||||
if fnamemodify(l:filename, ':t') == fnamemodify(l:newfilename, ':t')
|
||||
@@ -134,20 +139,19 @@ function denote#notes#copy(origfile)
|
||||
let l:title = fnamemodify(a:origfile, ':t:r')
|
||||
let l:ext = fnamemodify(a:origfile, ':e')
|
||||
let l:identifier = g:Denote_identifier_fun()
|
||||
let l:filename = denote#meta#filename(l:ext, l:identifier, l:title)
|
||||
let l:filename = g:denote_directory .. '/' .. libdenote#scheme_filename(l:ext, l:identifier, l:title)
|
||||
call system('cp ' .. shellescape(a:origfile) .. ' ' .. shellescape(l:filename))
|
||||
" Write front matter, if this is supported
|
||||
if index(g:denote_note_file_extensions, l:ext) >= 0
|
||||
call denote#loclist#jumptowindow()
|
||||
exe 'edit ' .. l:filename
|
||||
call denote#frontmatter#prepend(l:filename, l:identifier, l:title)
|
||||
call appendbufline(l:filename, 0, libdenote#fm_gen(l:ext, l:identifier, l:title))
|
||||
exe 'w'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Delete notes from denote directory
|
||||
function denote#notes#rm(line1, line2, bang)
|
||||
echom "bang set to:"..a:bang
|
||||
let l:items = getloclist(0, {'items': 1})['items']
|
||||
if empty(l:items)
|
||||
return
|
||||
@@ -156,7 +160,7 @@ function denote#notes#rm(line1, line2, bang)
|
||||
let l:item = l:items[i-1]
|
||||
let l:bufnr = l:item['bufnr']
|
||||
let l:filename = bufname(l:bufnr)
|
||||
let l:title = denote#meta#noteTitleFromFile(l:filename)
|
||||
let l:title = libdenote#scheme_metadata(l:filename).title
|
||||
if a:bang == v:false
|
||||
let l:answer = confirm('Are you sure you want to delete the note "' .. l:title .. '"?', "&Yes\n&No\n", 2, 'Question')
|
||||
if l:answer != 1
|
||||
|
||||
Reference in New Issue
Block a user