npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@void2610/tyranoscript-lsp

v0.8.3

Published

TyranoScript Language Server for VS Code and Zed

Readme

@void2610/tyranoscript-lsp

日本語

Language Server for TyranoScript. Used by the VS Code extension tyranoscript-vscode and the Zed extension tyranoscript-zed.

Features

  • Tag name completion (on [ or @ input)
  • Parameter completion (already used parameters are excluded)
  • Snippet insertion for required parameters
  • Hover documentation for tags and parameters
  • Automatic workspace indexing for assets, labels, macros, and characters
    • Indexes tf.xxx variable definitions and references
    • Asset file completion for storage=""
    • Label completion (*xxx) for target=""
    • User-defined macro completion and hover documentation
    • Hover descriptions from comments immediately above label definitions
  • Go to Definition
    • target="*xxx" → jump to label definition
    • nextOrderWithLabel("*xxx", "file.ks") → jump to label definition
    • storage="xxx.ks" → jump to file
    • [mymacro] / @mymacro → jump to macro definition
    • tf.xxx → jump to the assignment site
    • [chara_show name="xxx"] → jump to [chara_new name="xxx"] definition
    • face= in [chara_mod name="akane" face="smile"] → jump to [chara_face] definition
    • ptext= in [chara_config] / use= in [glyph] → jump to [ptext] / [image] definition
  • Find References — list all usages of labels, JS label calls, macros, tf.xxx, characters, faces, and named elements

Macro And Label Description Comments

Comments immediately above macro and label definitions are shown in hover.

Recommended format:

; Calls the target file and injects tf.kw_list / kw_key / judge_table
; Params: storage - path to the data file
[macro name="load_keyword_data"]

; Renders keyword buttons from tf.kw_list and enters click wait
; Returns after on_complete_click finishes
*show_report_ui

Descriptions can be plain comment lines without a field label. Params: lines and description lines are treated separately.

  • Diagnostics (checks the entire project, including unopened files)
    • Missing required parameters (error)
    • Missing file references (warning): storage, graphic, enterimg, leaveimg, clickimg
    • Undefined tag/macro (warning)
    • Undefined label references (warning)
    • Unused labels (warning)
    • Undefined character references (warning): name in chara_show/chara_hide etc. not defined by chara_new
    • Unused characters (warning): chara_new defined but never referenced
    • Skips JS code inside [iscript]...[endscript]
    • Resolves relative paths containing ../
    • Skips variable expansion prefixes (&, %, [)

Suppressing Warnings

You can suppress specific warnings using comment directives:

; tyranoscript-disable-next-line              ← suppress next line entirely
; tyranoscript-disable-next-line tyrano-unused-label  ← suppress specific code only
[jump target="*unused"] ; tyranoscript-disable-line   ← suppress current line
; tyranoscript-disable                        ← start of suppressed range
...
; tyranoscript-enable                         ← end of suppressed range

Development

npm install
npm run build    # bundle to dist/server.js
npm run watch    # watch mode

Acknowledgements

Tag dictionary data is based on tyrano.Tooltip.json from orukRed/tyranosyntax.

License

MIT