#653 Collect items for quickfix from all buffers, and de-duplicate them. Set filename items in quickfix and loclist.

This commit is contained in:
w0rp
2017-08-19 14:28:51 +01:00
parent 9c6e25d8d8
commit 5c839c4825
7 changed files with 180 additions and 42 deletions

View File

@@ -1,31 +1,27 @@
Before:
let g:loclist = [
\ {'bufnr': 3, 'lnum': 1, 'col': 1},
\ {'bufnr': 1, 'lnum': 5, 'col': 5},
\ {'bufnr': 2, 'lnum': 5, 'col': 5},
\ {'bufnr': 1, 'lnum': 5, 'col': 4},
\ {'bufnr': 1, 'lnum': 2, 'col': 10},
\ {'bufnr': 2, 'lnum': 1, 'col': 5},
\ {'bufnr': 1, 'lnum': 3, 'col': 2},
\ {'bufnr': 2, 'lnum': 1, 'col': 2},
\ {'bufnr': -1, 'lnum': 3, 'col': 2},
\]
Execute (Sort loclist with comparison function):
call sort(g:loclist, 'ale#util#LocItemCompare')
Then (loclist item should be sorted):
Execute(loclist item should be sorted):
AssertEqual [
\ {'bufnr': -1, 'lnum': 3, 'col': 2},
\ {'bufnr': 1, 'lnum': 2, 'col': 10},
\ {'bufnr': 1, 'lnum': 3, 'col': 2},
\ {'bufnr': 1, 'lnum': 5, 'col': 4},
\ {'bufnr': 1, 'lnum': 5, 'col': 5},
\ {'bufnr': 2, 'lnum': 1, 'col': 2},
\ {'bufnr': 2, 'lnum': 1, 'col': 5},
\ {'bufnr': 2, 'lnum': 5, 'col': 5},
\ {'bufnr': 3, 'lnum': 1, 'col': 1},
\], g:loclist
After:
unlet g:loclist
\ {'bufnr': -1, 'filename': 'b', 'lnum': 4, 'col': 2},
\ {'bufnr': -1, 'filename': 'b', 'lnum': 5, 'col': 2},
\ {'bufnr': -1, 'filename': 'c', 'lnum': 3, 'col': 2},
\ {'bufnr': 1, 'lnum': 2, 'col': 10},
\ {'bufnr': 1, 'lnum': 3, 'col': 2},
\ {'bufnr': 1, 'lnum': 5, 'col': 4},
\ {'bufnr': 1, 'lnum': 5, 'col': 5},
\ {'bufnr': 2, 'lnum': 1, 'col': 2},
\ {'bufnr': 2, 'lnum': 1, 'col': 5},
\ {'bufnr': 2, 'lnum': 5, 'col': 5},
\ {'bufnr': 3, 'lnum': 1, 'col': 1},
\ ],
\ sort([
\ {'bufnr': 3, 'lnum': 1, 'col': 1},
\ {'bufnr': -1, 'filename': 'b', 'lnum': 5, 'col': 2},
\ {'bufnr': 1, 'lnum': 5, 'col': 5},
\ {'bufnr': 2, 'lnum': 5, 'col': 5},
\ {'bufnr': -1, 'filename': 'b', 'lnum': 4, 'col': 2},
\ {'bufnr': 1, 'lnum': 5, 'col': 4},
\ {'bufnr': 1, 'lnum': 2, 'col': 10},
\ {'bufnr': 2, 'lnum': 1, 'col': 5},
\ {'bufnr': 1, 'lnum': 3, 'col': 2},
\ {'bufnr': 2, 'lnum': 1, 'col': 2},
\ {'bufnr': -1, 'filename': 'c', 'lnum': 3, 'col': 2},
\], 'ale#util#LocItemCompare')