Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Things change color when scrolling down multi line unions #2110

Closed
CodeGreen0386 opened this issue May 14, 2023 · 3 comments
Closed

Things change color when scrolling down multi line unions #2110

CodeGreen0386 opened this issue May 14, 2023 · 3 comments
Labels
bug Something isn't working

Comments

@CodeGreen0386
Copy link

How are you using the lua-language-server?

Visual Studio Code Extension (sumneko.lua)

Which OS are you using?

Windows

What is the issue affecting?

Annotations

Expected Behaviour

Things (classes, strings, etc) should maintain their given color in a multi line union.

Actual Behaviour

Things are colored correctly until a certain scroll threshold is reached, where they will turn blue and remain blue when scrolling further down.

Reproduction steps

  1. Create a very large multi line union in an alias, field, whatever
  2. Scroll down until typedefs change color

Additional Notes

The example given is only strings, but it happens with everything.

Above threshold:
image

Below threshold:
image

Log File

I doubt these are useful, but here they are anyway. Apologies for the massive workspace.
file_c%3A_Users_mapop_AppData_Roaming_Factorio_mods.log
service.log

@CodeGreen0386 CodeGreen0386 changed the title Strings change color when scrolling down multi line unions Things change color when scrolling down multi line unions May 14, 2023
@sumneko sumneko added the Info Needed More information is required label May 22, 2023
@sumneko
Copy link
Collaborator

sumneko commented May 22, 2023

I cannot reproduce it, please provide your example code.

@CodeGreen0386
Copy link
Author

CodeGreen0386 commented May 24, 2023

I should have done that to begin with, sorry about that.
github doesn't like .lua files, here it is in .txt form.
CustomInput.txt
Base.txt

@CodeGreen0386
Copy link
Author

here's a video of it happening as well, in case that helps
https://github.com/LuaLS/lua-language-server/assets/88168191/a2264a39-9b0c-4ab3-b0e1-f94f1ffabbe6

@sumneko sumneko added bug Something isn't working and removed Info Needed More information is required labels May 31, 2023
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue May 1, 2024
Changelog:

## 3.8.3
`2024-4-23`
* `FIX` server may crash when the workspace is using a non-English path.

## 3.8.2
`2024-4-23`
* This is a fake version only for the new version of VSCode, with a core of 3.8.0.

## 3.8.1
`2024-4-23`
* This is a fake version only for the old version of VSCode, with a core of `3.7.4`. Starting from the next minor version, the version requirement for VSCode will be raised to prevent users still using the old version of VSCode from updating to the new version and experiencing compatibility issues.

## 3.8.0
`2024-4-22`
* `NEW` supports tuple type (@[lizho])
  ```lua
  ---@type [string, number, boolean]
  local t

  local x = t[1] --> x is `string`
  local y = t[2] --> y is `number`
  local z = t[3] --> z is `boolean`
  ```
* `NEW` generic pattern (@[fesily])
  ```lua
  ---@Generic T
  ---@param t Cat.`T`
  ---@return T
  local function f(t) end

  local t = f('Smile') --> t is `Cat.Smile`
  ```
* `NEW` alias and enums supports attribute `partial`
  ```lua
  ---@alias Animal Cat

  ---@alias(partial) Animal Dog

  ---@type Animal
  local animal --> animal is `Cat|Dog` here
  ```

  ```lua
  ---@enum(key) ErrorCodes
  local codes1 = {
      OK = 0,
      ERROR = 1,
      FATAL = 2,
  }

  ---@enum(key, partial) ErrorCodes
  local codes2 = {
      WARN = 3,
      INFO = 4,
  }

  ---@type ErrorCodes
  local code

  code = 'ERROR' --> OK
  code = 'WARN'  --> OK

  ```
* `NEW` plugin: add `OnTransFormAst` interface (@[fesily])
* `NEW` plugin: add `OnNodeCompileFunctionParam` interface (@[fesily])
* `NEW` plugin: add `ResolveRequire` interface (@[Artem Dzhemesiuk])
* `NEW` plugin: support multi plugins (@[fesily])
  + setting: `Lua.runtime.plugin` can be `string|string[]`
  + setting: `Lua.runtime.pluginArgs` can be `string[]|table<string, string>`
* `NEW` CLI: `--doc` add option `--doc_out_path <PATH>` (@[Andreas Matthias])
* `NEW` CLI: `--doc_update`, update an existing `doc.json` without using `--doc` again (@[Andreas Matthias])
* `NEW` CLI: `--trust_all_plugins`, this is potentially unsafe for normal use and meant for usage in CI environments only (@[Paul Emmerich])
* `CHG` CLI: `--check` will run plugins (@[Daniel Farrell])
* `FIX` diagnostic: `discard-returns` not works in some blocks (@clay-golem)
* `FIX` rename in library files

## 3.7.4
`2024-1-5`
* `FIX` rename to unicode with `Lua.runtime.unicodeName = true`

## 3.7.3
`2023-11-14`
* `FIX` can not infer arg type in some cases.

## 3.7.2
`2023-11-9`
* `FIX` [#2407]

[#2407]: LuaLS/lua-language-server#2407

## 3.7.1
`2023-11-7`
* `FIX` [#2299]
* `FIX` [#2335]

[#2299]: LuaLS/lua-language-server#2299
[#2335]: LuaLS/lua-language-server#2335

## 3.7.0
`2023-8-24`
* `NEW` support `---@type` and `--[[@as]]` for return statement
* `NEW` commandline parameter `--force-accept-workspace`: allowing the use of the root directory or home directory as the workspace
* `NEW` diagnostic: `inject-field`
* `NEW` `---@enum` supports attribute `key`
  ```lua
  ---@enum (key) AnimalType
  local enum = {
    Cat = 1,
    Dog = 2,
  }

  ---@param animal userdata
  ---@param atp AnimalType
  ---@return boolean
  local function isAnimalType(animal, atp)
    return API.isAnimalType(animal, enum[atp])
  end

  assert(isAnimalType(animal, 'Cat'))
  ```
* `NEW` `---@class` supports attribute `exact`
  ```lua
  ---@Class (exact) Point
  ---@field x number
  ---@field y number
  local m = {}
  m.x = 1 -- OK
  m.y = 2 -- OK
  m.z = 3 -- Warning
  ```

* `FIX` wrong hover and signature for method with varargs and overloads
* `FIX` [#2155]
* `FIX` [#2224]
* `FIX` [#2252]
* `FIX` [#2267]

[#2155]: LuaLS/lua-language-server#2155
[#2224]: LuaLS/lua-language-server#2224
[#2252]: LuaLS/lua-language-server#2252
[#2267]: LuaLS/lua-language-server#2267

## 3.6.25
`2023-7-26`
* `FIX` [#2214]

[#2214]: LuaLS/lua-language-server#2214

## 3.6.24
`2023-7-21`
* `NEW` diagnostic: `missing-fields`
* `FIX` shake of `codeLens`
* `FIX` [#2145]

[#2145]: LuaLS/lua-language-server#2145

## 3.6.23
`2023-7-7`
* `CHG` signature: narrow by inputed literal

## 3.6.22
`2023-6-14`
* `FIX` [#2038]
* `FIX` [#2042]
* `FIX` [#2062]
* `FIX` [#2083]
* `FIX` [#2088]
* `FIX` [#2110]
* `FIX` [#2129]

[#2038]: LuaLS/lua-language-server#2038
[#2042]: LuaLS/lua-language-server#2042
[#2062]: LuaLS/lua-language-server#2062
[#2083]: LuaLS/lua-language-server#2083
[#2088]: LuaLS/lua-language-server#2088
[#2110]: LuaLS/lua-language-server#2110
[#2129]: LuaLS/lua-language-server#2129
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants