dvdsk / prosesitter.nvim

A (work in progress) grammar, spelling and style plugin for Neovim
MIT License
25 stars 0 forks source link

No linked issue assert #49

Closed dvdsk closed 2 years ago

dvdsk commented 2 years ago

alert error: no linked issue id,linter,buf: 3,vale,1 source marks.lua:91

[INFO  linter/marks/marks.lua:103: *** mark results
[INFO  linter/marks/marks.lua:47: ---->removing old marks
[INFO  linter/marks/marks.lua:40: {}
[INFO  linter/marks/marks.lua:40: {}
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col langtool 1 -0 196 201
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 1 langtool 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 1 langtool 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col langtool 1 -0 282 287
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 2 langtool 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 2 langtool 1
[INFO  linter/marks/marks.lua:103: *** mark results
[INFO  linter/marks/marks.lua:47: ---->removing old marks
[INFO  linter/marks/marks.lua:40: {}
[INFO  linter/marks/marks.lua:40: { { 1, 0, 196, {
      end_col = 201,
      end_row = 0,
      hl_group = "SpellBad",
      priority = 4096
    } }, { 2, 0, 282, {
      end_col = 287,
      end_row = 0,
      hl_group = "SpellBad",
      priority = 4096
    } } }
[DEBUG linter/marks/marks.lua:13: possibly clearing mark id,linter,buf 1 vale 1
[DEBUG prosesitter/linter/issues.lua:80: removing issue list for id,linter,buf: 1 vale 1
[DEBUG linter/marks/marks.lua:13: possibly clearing mark id,linter,buf 2 vale 1
[DEBUG prosesitter/linter/issues.lua:80: removing issue list for id,linter,buf: 2 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 1 48 51
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 3 vale 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 3 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 -0 170 180
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 4 vale 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 4 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 -0 170 172
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 5 vale 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 5 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 -0 196 201
[INFO  linter/marks/marks.lua:88: { 1, 0, 196, {
    end_col = 201,
    end_row = 0,
    hl_group = "SpellBad",
    priority = 4096
  } }
[DEBUG prosesitter/linter/issues.lua:90: retrieving issue list for id,linter,buf: 1 langtool 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 1 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 -0 223 230
[DEBUG linter/marks/marks.lua:80: added mark, id,linter,buf: 6 vale 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 6 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 -0 282 287
[INFO  linter/marks/marks.lua:88: { 2, 0, 282, {
    end_col = 287,
    end_row = 0,
    hl_group = "SpellBad",
    priority = 4096
  } }
[DEBUG prosesitter/linter/issues.lua:90: retrieving issue list for id,linter,buf: 2 langtool 1
[DEBUG prosesitter/linter/issues.lua:96: adding issue list for id,linter,buf: 2 vale 1
[INFO  linter/marks/marks.lua:74: !!!! linter,buf,row,start_col,end_col vale 1 1 48 51
[INFO  linter/marks/marks.lua:88: { 3, 1, 48, {
    end_col = 51,
    end_row = 1,
    hl_group = "SpellCap",
    priority = 4096
  } }
[DEBUG prosesitter/linter/issues.lua:90: retrieving issue list for id,linter,buf: 3 langtool 1
dvdsk commented 2 years ago

On inspection of the text send to the linter we see a duplicated bit. Linter input:

Some systems I will not discuss in depth, these are: Here I will discuss my implementation in three parts. I will begin by going over the states a node goes through during its operation. Then I will detail how the metadata is changed by following a mkdir through the cluster. Finally, I detail the technical side discussing the use of async over classical concurrency primitives. Some systems I will not discuss in depth, these are:

Notice the beginning and end is identical. They are inserted with the correct areas. The mark iterator's collect_span() only looks at the next span and therefore does not (and it does not have to) catch the error passing the problem on with a deplicate hl in the iterator which eventually is caught and causes a crash.

dvdsk commented 2 years ago

traced down to on_event:37 add_nodes(). The for each tree function is called twice resulting in the lintreq adding the same lines twice.