Sucha's Blog ~ Archive for June, 2022

22年6月26日 周日 15:02

MoocHelper 更新到 0.2.16

昨天说到 LuaHelper 已经更新到了 0.2.16,今天我也同步将 MoocHelper 更新上去了,主要的改动有

例子是

local foo = {}

function foo:test()
    local foo = {}
    self:bar()
end

function foo:bar()
end

之前当 hover 到 test() 函数中的 self:bar() 时,self 其实指向的是函数内的 local variable foo,而实际 Lua 语义是指向运行当前 function 的 table,毕竟 self 是作为当前 function 第一个参数传递进来的。

moocscript 的处理还特别一点,因为其 class/struct 是通过拼凑 AssignStat 来实现的,这种 : 函数在 class/struct 里面其实是实例函数,语法跟 Lua 不一样,没有 table name 前缀,得特别处理一下。

这里的特别处理是,需要在当前 AST 的位置,一直寻找 parent scope 到最近的 class scope,如果存在,拿到外层 local variable map 的同名变量定义(如上面例子的 foo),将变量定义的 Loc 作为 self 的 varStruct 描述,后面这个 Loc 的逻辑跟 Lua 侧是一样的。

大概这样吧。

22年6月25日 周六 22:30

MoocHelper 更新到 0.2.15

这个其实也是 5 月份的事情,之前也说过,因为一直都有用 MoonCake,自然就少不了 LSP 的支持。

这次是同步了 LuaHelper 的更新,自己这边添加了另外一些功能,比如对于非工程路径的支持, hover 到 require 库时,可以寻找过去,另外就是函数内部的 local 变量,我是默认不展示在 outline 的,我觉得这些变量太烦了。

另外刚看到 upstream 已经到了 0.2.16 了,等我后面有空再同步一下吧。

22年6月25日 周六 21:15

新台式电脑

上个月买了新的台式电脑,用了一个多月后,感觉还行吧。当时换台式机想了挺久,主要是之前那台 i5 一直停留在 10.12 升不了系统, 也用了好多年了,考虑再三,还是先换了吧。

之前还犹豫要不要买 Apple Silicon M1 的,因为工作中用的就是 M1,所以也算了解。最大 16G 的内存是软肋,即便是工作, 勉勉强强够吧,CPU 倒是还不错,这一两年都足够了其实,GPU 不参与评测。不过如果配上 512G 的 SSD,价格就很不香了。

还有因为平时绝大部分时间用的是 M1,真的不大想下班再用 M1 了,也是一个因素。

于是搞了一台黑苹果,CPU 用了 i7-12700,GPU 是基本入门款,因为平时极少玩游戏,反而内存直接到了 64G。规格上去之后, 机箱体积也小不了,虽然还是 Mini-ITX,还挺重的。

各种原因,显示屏还是 1080P 的,已经用了有 8 年了,因为租住的地方比较小,如果换成 27 寸 4K,感觉塞不下(真的有点挤), 而 M1 对 2K 屏幕支持很弱,我试过即便用了 GitHub 上的 HiDPI 脚本,还是不尽如人意,要上就只能上 4K,所以不如先不换。

直接上 64G 内存的原因,是之前编译一些稍微大一点的 Swift 工程,加上开了其他浏览器什么的之后,感觉内存都快满了情况, 所以不如一步到位 64G 了。

现在的感觉,性能毫无疑问是过剩的,结论我现在确实只是个参数党。