Skip to content

Emoji in comment breaks completionΒ #3880

@andy-rootly

Description

@andy-rootly

Description

Ruby LSP Information

VS Code Version

1.106.2

Ruby LSP Extension Version

0.9.32

Ruby LSP Server Version

0.26.4

Ruby LSP Add-ons

  • Standard Ruby (unknown)
  • Ruby LSP RSpec (0.26.4)
  • Ruby LSP Rails (0.4.8)
  • RuboCop (unknown)

Ruby Version

3.4.7

Ruby Version Manager

mise

Installed Extensions

Click to expand
  • claude-code (2.0.75)
  • code-spell-checker (4.4.0)
  • code-spell-checker-cspell-bundled-dictionaries (2.0.12)
  • gitlens (17.8.1)
  • gremlins (0.26.0)
  • herb-lsp (0.8.6)
  • markdown-preview-github-styles (2.2.0)
  • prettier-vscode (11.0.2)
  • quitcontrol-vscode (4.0.0)
  • regex (0.6.0)
  • ruby-extensions-pack (0.1.13)
  • ruby-lsp (0.9.32)
  • vim (1.32.4)
  • vscode-eslint (3.0.20)

Ruby LSP Settings

Click to expand
Workspace
{
  "rubyVersionManager": {
    "identifier": "mise"
  },
  "formatter": "standard",
  "linters": [
    "standard"
  ],
  "indexing": {
    "excludedGems": []
  }
}
User
{
  "enabledFeatures": {
    "codeActions": true,
    "diagnostics": true,
    "documentHighlights": true,
    "documentLink": true,
    "documentSymbols": true,
    "foldingRanges": true,
    "formatting": true,
    "hover": true,
    "inlayHint": true,
    "onTypeFormatting": true,
    "selectionRanges": true,
    "semanticHighlighting": true,
    "completion": true,
    "codeLens": true,
    "definition": true,
    "workspaceSymbol": true,
    "signatureHelp": true,
    "typeHierarchy": true
  },
  "featuresConfiguration": {},
  "addonSettings": {},
  "rubyVersionManager": {
    "identifier": "mise"
  },
  "customRubyCommand": "",
  "formatter": "standard",
  "linters": [
    "standard"
  ],
  "bundleGemfile": "",
  "testTimeout": 30,
  "branch": "",
  "pullDiagnosticsOn": "both",
  "useBundlerCompose": false,
  "bypassTypechecker": false,
  "rubyExecutablePath": "",
  "indexing": {
    "excludedGems": []
  },
  "erbSupport": true,
  "featureFlags": {
    "all": true
  },
  "sigOpacityLevel": "1"
}

Reproduction steps

Screen.Recording.2025-12-31.at.11.58.39.AM.mov
  1. Start the Ruby LSP with VS Code or Cursor
  2. Open a Ruby file with the sample code below
  3. Observe that completion works for the first constant, but not the second.

Note: I can reproduce in VS Code and Cursor, but not Zed, so I suspect it's a bug in the extension.

Code snippet or error message

# completion works here
Stri
# πŸš… but not below here
Stri

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions