* Fix: Jumping to renamed files (#484) * fix: prevent "cursor position outside buffer" error * fix: swap file_name and old_file_name in reviewer data `old_file_name` is not set to the empty string for un-renamed files anymore, because then we can remove the empty-line check in `comment_helpers.go` which was used to replace the empty string with the current file name anyway. * fix: add old_file_name to discussion root node data * fix: also consider old_file_name when jumping to the reviewer This fixes jumping to renamed files, however, may not work for comments that were created on renamed files with the previous version of `gitlab.nvim` as that version assigned the `file_name` and `old_file_name` incorrectly. * refactor: don't shadow variable * fix: check file_name or old_file_name based on which SHA comment belongs to * Fix: Store reviewer data before creating comment popup (#476) * Fix: Make publishing drafts more robust (#483) * Fix: Swap file_name and old_file_name in reviewer data (#485) * Feat: Enable toggling date format between relative and absolute (#491) * Fix: Add opts to help popup (#492) * Fix: Force start_line for jumping to diagnostic to be inside buffer (#494) * fix: redefine colors after reloading colorscheme (#500) * Fix: Use path instead of oldpath as fallback for unrenamed files (#496) * Fix: Use file_name when old_file_name is not set (#495) * fix(ci): fix lua tests (#501) * Proxy Support (#499) This is a #MINOR release. --------- Co-authored-by: Jakub F. Bortlík <jakub.bortlik@proton.me> Co-authored-by: Jonathan Duck <Duckbrain30@gmail.com>
29 lines
1.6 KiB
VimL
29 lines
1.6 KiB
VimL
if filereadable($VIMRUNTIME . '/syntax/markdown.vim')
|
|
source $VIMRUNTIME/syntax/markdown.vim
|
|
endif
|
|
|
|
let expanders = '^\s*\%(' . g:gitlab_discussion_tree_expander_open . '\|' . g:gitlab_discussion_tree_expander_closed . '\)'
|
|
let username = '@[a-zA-Z0-9.]\+'
|
|
|
|
" Covers times like '14 days ago', 'just now', as well as 'October 3, 2024', and '02/28/2025 at 00:50'
|
|
let time_ago = '\d\+ \w\+ ago'
|
|
let formatted_date = '\w\+ \{1,2}\d\{1,2}, \d\{4}'
|
|
let absolute_time = '\d\{2}/\d\{2}/\d\{4} at \d\{2}:\d\{2}'
|
|
let date = '\%(' . time_ago . '\|' . formatted_date . '\|' . absolute_time . '\|just now\)'
|
|
|
|
let published = date . ' \%(' . g:gitlab_discussion_tree_resolved . '\|' . g:gitlab_discussion_tree_unresolved . '\|' . g:gitlab_discussion_tree_unlinked . '\)\?'
|
|
let state = ' \%(' . published . '\|' . g:gitlab_discussion_tree_draft . '\)'
|
|
|
|
execute 'syntax match GitlabNoteHeader "' . expanders . username . state . '" contains=GitlabDate,GitlabUnresolved,GitlabUnlinked,GitlabResolved,GitlabExpander,GitlabDraft,GitlabUsername'
|
|
|
|
execute 'syntax match GitlabDate "' . date . '" contained'
|
|
execute 'syntax match GitlabUnresolved "' . g:gitlab_discussion_tree_unresolved . '" contained'
|
|
execute 'syntax match GitlabUnlinked "' . g:gitlab_discussion_tree_unlinked . '" contained'
|
|
execute 'syntax match GitlabResolved "' . g:gitlab_discussion_tree_resolved . '" contained'
|
|
execute 'syntax match GitlabExpander "' . expanders . '" contained'
|
|
execute 'syntax match GitlabDraft "' . g:gitlab_discussion_tree_draft . '" contained'
|
|
execute 'syntax match GitlabUsername "' . username . '" contained'
|
|
execute 'syntax match GitlabMention "' . username . '"'
|
|
|
|
let b:current_syntax = 'gitlab'
|