pine-tools
Health Warn
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Fail
- fs module — File system access in .github/workflows/pr-check.yml
- spawnSync — Synchronous process spawning in dev-tools/compare-validation-results.js
- fs.rmSync — Destructive file system operation in dev-tools/compare-validation-results.js
- fs module — File system access in dev-tools/compare-validation-results.js
- execSync — Synchronous shell command execution in dev-tools/debug-internals.js
- fs module — File system access in dev-tools/debug-internals.js
- network request — Outbound network request in dev-tools/differential-test.js
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Unofficial Pine Script v6 tools, including a language service, LSP, MCP, Visual Studio Code extension, CLI linter tool, and more.
pine-tools
Pine Script v6 support for VS Code. Syntax highlighting, IntelliSense, diagnostics.
Also contains a pinescript LSP, pinescript MCP, CLI pinescript linter, and other tools.
Built with LLMs. See LLM.md.
Requirements
- VS Code 1.108+
- Node 22.18+
- pnpm
Install
pnpm install
pnpm run build
Build
pnpm run build # dev build
pnpm run build:prod # production build
pnpm run package # create .vsix
Output goes to dist/.
Use Locally
Build it first:
pnpm install
pnpm run build
Then symlink to VS Code extensions dir:
ln -s $(pwd) ~/.vscode/extensions/pine-tools
Or package and install:
pnpm run package
code --install-extension dist/pine-tools-*.vsix
Reload VS Code window after install. Use pnpm run watch for live development.
Test
pnpm test
CLI
node dist/packages/cli/src/cli.js file.pine
Or after install:
pine-validate file.pine
LSP Server
node dist/packages/lsp/bin/pine-lsp.js --stdio
For editors that speak Language Server Protocol.
MCP Server
node dist/packages/mcp/bin/pine-mcp.js
For AI assistants. See packages/mcp/README.md.
Library Imports
Pine libraries (import User/Library/Version) have no discoverable source. Use /// @source to enable IntelliSense:
/// @source ./libs/my-library.pine
import User/MyLibrary/1 as myLib
x = myLib.myFunction(close) // completions, hover, go-to-definition
Place the directive immediately before the import. Path is relative to current file.
Structure
packages/
core/ parser, analyzer
language-service/ editor-agnostic API
cli/ command-line validator
lsp/ language server
mcp/ model context protocol server
vscode/ extension client
pine-data/v6/ function signatures, constants
syntaxes/ TextMate grammar
Data Pipeline
Regenerate language data from crawling and scraping TradingView.com docs:
pnpm run crawl
pnpm run scrape
pnpm run generate
pnpm run generate:syntax
License
MIT
Credits
Original barebones vscode extension by Jaroslav Pantsjoha. Completely rewritten by folknor.
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found