AtomLinter / linter-julia

This linter plugin provides an interface to Lint.jl.
https://atom.io/packages/linter-julia
MIT License
17 stars 3 forks source link

editor drags the marked hint around #120

Open takbal opened 3 years ago

takbal commented 3 years ago

While adding the StaticLint support, I could not fix this behaviour:

bug_dragging_error

The editor seems to drag the end of the marked text with the typing, but only when editing starts at the end of a marked text. The hints sent back from the julia code seem correctly positioned, and the positions are unchanged in subsequent updates (this can be also seen from that saving and opening the file fixes the problem), but the editor seems to override the messages.

I have put in a hack into julia-server.jl to mark one less character when the error is at the end of the buffer:

if endpos == length(code) # here length() should be changed to lastindex() for unicode
   endcolumn -= 1
end

so this is less of an issue when typing at the bottom of the file, but it is not an elegant solution. It does not help with insertions like on the screenshot either.

Not sure if I did something wrong, or it is a problem with linter.

pfitzseb commented 3 years ago

I'm pretty sure this is an upstream issue and commonly happens with Atom's decoration API. There's some code in ink that fixes the issue for inline results (which are another kind of decoration), so might make sense to upstream that.