plum

#treesitter#compiler#wasm

git clone https://git.pyrossh.dev/plum

A statically typed, imperative programming language inspired by rust, python


8c874f6 — Peter John 2026-11-01T17:35:46+05:30
fix: lsp keywords and README snippet for struct/record
Files changed (1) hide show
  1. plum-lsp/src/main.rs +2 -2
plum-lsp/src/main.rs CHANGED
@@ -494,7 +494,7 @@ mod tests {
494
494
  #[test]
495
495
  fn keywordsCurrent() {
496
496
  let labels: Vec<String> = completion::keywordItems().into_iter().map(|i| i.label).collect();
497
- for want in ["primitive", "value", "fun*", "yield", "range", "then", "error", "catch", "true", "false", "null", "try"] {
497
+ for want in ["primitive", "struct", "record", "fun*", "yield", "range", "then", "error", "catch", "true", "false", "null", "try"] {
498
498
  assert!(labels.iter().any(|l| l == want), "missing {want}");
499
499
  }
500
500
  for gone in ["extend", "fail", "inline", "block", "indexed", "case", "trait", "implements"] {
@@ -535,7 +535,7 @@ mod tests {
535
535
  let block = &body[..end];
536
536
  rest = &body[end + 3..];
537
537
  let first = block.lines().find(|l| !l.trim().is_empty() && !l.starts_with('#')).unwrap_or("");
538
- let isItems = ["fun ", "fun*", "enum ", "error ", "value ", "primitive ", "import ", "module ", "extern ", "test "]
538
+ let isItems = ["fun ", "fun*", "enum ", "error ", "struct ", "record ", "primitive ", "import ", "module ", "extern ", "test "]
539
539
  .iter()
540
540
  .any(|k| first.starts_with(k))
541
541
  || first.chars().next().is_some_and(|c| c.is_uppercase()) && first.contains(" = ") && !first.contains('(');