⚠️ Community-Maintained Extension - This extension is not official and is maintained by the community. For official Kip language resources, please visit the official Kip repository.
VS Code extension for the Kip programming language - a Turkish grammar-based functional programming language. This extension provides syntax highlighting, code completion, and language server features for Kip.
- Go to GitHub Releases
- Download the latest
.vsixfile from the Assets section - Open VS Code
- Press
Ctrl+Shift+P(orCmd+Shift+Pon macOS) - Type "Extensions: Install from VSIX..."
- Select the downloaded
.vsixfile
Note: This extension may not be available on the marketplace yet. Use GitHub Releases instead.
See the Development section below.
- Semantic highlighting via Language Server Protocol (LSP)
- Multi-word type recognition (e.g., "öğe listesi")
- Color-coded syntax for:
- Functions
- Types
- Variables
- Keywords
- Strings and numbers
- Go to Definition (
F12) - Jump to where symbols are defined - Find All References (
Shift+F12) - Find all usages of a symbol - Workspace Symbols (
Ctrl+T/Cmd+T) - Search symbols across your workspace - Document Outline (
Ctrl+Shift+O/Cmd+Shift+O) - View all symbols in current file
- Auto-completion - Smart suggestions as you type
- Hover Information - See documentation when hovering over symbols
- Code Formatting - Format your code with
Shift+Alt+F - Code Actions - Quick fixes and refactorings (
Ctrl+./Cmd+.)
- Run Kip Files - Execute
.kipfiles directly from VS Code- Click the
▶️ button in the editor toolbar - Or press
Ctrl+Shift+R(Cmd+Shift+Ron macOS) - Or use Command Palette: "Kip: Run File"
- Click the
- Turkish grammar-based syntax
- Type declarations:
Bir ... ya ... olabilir - Function definitions with gerund patterns (
-mak/-mek) - Variable definitions:
X Y Z diyelim - Pattern matching and conditional expressions
- Install the extension (see Installation above)
- Open a
.kipfile in VS Code - Start coding! The extension will automatically:
- Highlight your code
- Provide code completion
- Show errors and warnings
- Run your code using the
▶️ button orCtrl+Shift+R
Here's a simple example to get you started:
Bir (öğe listesi)
ya boş
ya da bir öğenin bir öğe listesine eki
olabilir.
(bu öğe listesiyle) (şu öğe listesinin) birleşimi,
bu boşsa,
şu,
ilkin devama ekiyse,
ilkin (devamla şunun birleşimine) ekidir.
(bu öğe listesinin) tersi,
bu boşsa,
boş,
ilkin devama ekiyse,
(devamın tersiyle)
(ilkin boşa ekinin) birleşimidir.
((1'in (2'nin boşa ekine) ekinin) tersini) bastır.
You can configure the extension in VS Code settings (Ctrl+, / Cmd+,):
{
"kip.compilerPath": "", // Path to Kip compiler (empty = auto-detect)
"kip.lspPath": "", // Path to Kip LSP server (empty = auto-detect)
"kip.enableCodeLens": true, // Show reference counts above symbols
"kip.formatOnSave": false, // Automatically format on save
"kip.enableWorkspaceSymbols": true // Enable workspace symbol search
}- Official Kip Language: kip-dili/kip - The official Kip programming language repository
- Kip Language Documentation: Check the official repository for language documentation and tutorials
- Report Issues: GitHub Issues - Found a bug? Let us know!
- Request Features: GitHub Issues - Have an idea? We'd love to hear it!
- Latest Releases: GitHub Releases - Download the latest version
- Restart VS Code - Sometimes a simple restart fixes issues
- Check the Output Panel - Open Output (
Ctrl+Shift+U/Cmd+Shift+U) and select "Kip Language Server" - Reload Window - Press
Ctrl+Shift+P/Cmd+Shift+Pand run "Developer: Reload Window"
- Make sure you're editing a
.kipfile - Check that the file is recognized as "Kip" language (see bottom-right of VS Code)
- Try reloading the window
- The extension uses LSP (Language Server Protocol) for code intelligence
- Make sure the LSP server started successfully (check Output panel)
- Try restarting the extension host:
Ctrl+Shift+P→ "Developer: Restart Extension Host"
- Make sure you have the Kip compiler installed
- Check that
kipcommand is available in your terminal - See the official Kip repository for installation instructions
This extension is open source and community-maintained. Contributions are welcome!
Important: Run all npm commands from the
kip-vscode-language-supportdirectory. If the repo is a subfolder (e.g. monorepo orgit pullinto a workspace), runcd kip-vscode-language-supportfirst. Running from the parent causesrootDir/ "file is not under 'rootDir'" TypeScript errors.
- Node.js 20+
- npm
- TypeScript
- VS Code 1.80+
# Clone the repository
git clone https://github.com/algorynth/kip-vscode-language-support.git
cd kip-vscode-language-support
# Install dependencies
npm install
# Compile TypeScript (veya: npm run build)
npm run compile# Derleme
npm run build # = npm run compile
npm run watch # watch mode
# Testler
npm test
npm run test:lsp
# VSIX paketle
npm run packagekip-vscode-language-support/
├── src/
│ ├── extension.ts # Main extension entry point
│ ├── server/
│ │ └── server.ts # LSP server implementation
│ ├── semanticTokensProvider.ts
│ ├── completionProvider.ts
│ ├── hoverProvider.ts
│ ├── definitionProvider.ts
│ ├── referenceProvider.ts
│ ├── renameProvider.ts
│ ├── codeActionProvider.ts
│ ├── formattingProvider.ts
│ ├── diagnosticProvider.ts
│ └── kipRunner.ts # Kip file execution
├── scripts/
│ ├── test-lsp-detailed.js # LSP test suite
│ └── ...
├── .github/
│ └── workflows/
│ └── build-extension.yml # CI/CD workflow
└── package.json
The extension includes a custom TypeScript-based LSP server that provides:
- Document Analysis: Parses Kip code to extract types, functions, variables, and symbols
- Semantic Highlighting: Identifies and highlights different token types
- Code Navigation: Definition and reference finding
- Symbol Management: Tracks symbols across documents
The extension includes comprehensive tests:
- Extension Tests:
npm test- Tests extension functionality - LSP Tests:
npm run test:lsp- Tests LSP server features - All Tests:
npm run test:all- Runs all test suites
The project uses GitHub Actions for continuous integration:
- Build: Automatically builds on every push
- Test: Runs all tests on every push
- Release: Creates GitHub Releases when tags are pushed (format:
v*)
To create a release:
# Update version in package.json
git tag v1.2.0
git push origin v1.2.0We welcome contributions! Here's how you can help:
- Report Bugs: Open an issue
- Suggest Features: Open an issue
- Submit Pull Requests:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Be respectful and constructive in discussions
MIT License - see LICENSE file for details.
- Kip Language: Created by the Kip language team - kip-dili/kip
- VS Code: Built with VS Code Extension API
- LSP: Powered by Language Server Protocol
- Community: Maintained by the community for the community
This extension is community-maintained and is not an official product of the Kip language team. While we strive to provide the best experience possible, this extension is provided "as-is" without warranty.
For official Kip language resources, documentation, and support, please visit:
- Official Repository: github.com/kip-dili/kip
Made with ❤️ by the community
If you find this extension useful, please consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs
- 💡 Suggesting features
- 🤝 Contributing code
Thank you for using Kip VS Code Extension!