+
Skip to content

krutt/oxeye

Repository files navigation

Oxeye

Bitcoin-only Top Languages Last commit Oxeye Banner

Prerequisites

  • python 3.9 and above - High-level general-purpose programming language
  • pip - package installer for Python

Getting started

pip install oxeye

And then you can start an LSP instance with the following command:

oxeye

Or use one of the following plugins on your desired Editor or Integrated Development Environment (IDE)

Contributions

oxeye/
│
├── src/
│   └── lib.rs               # Library definitions
│
├── static/
│   ├── docs/                # Collection of markdown LSP definitions
│   │   ├── comprehensive/   # Collection of catchall markdown reference
│   │   ├── jet_functions/   # Collection of markdown jet function definitions
│   │   ├── keywords/        # Collection of markdown keyword definitions
│   │   ├── misc/            # Collection of miscellaneous definitions
│   │   └── types/           # Collection of type definitions
│   │
│   ├── oxeye.svg            # Vector asset used as crest
│   ├── oxeye-banner.svg     # Vector asset for banner on display in README
│   └── oxeye-social.svg     # Vector asset used as Open Graph preview
│
├── Cargo.toml               # Rust library dependencies and packaging
├── LICENSE                  # Details of MIT License
├── README.md                # Descriptions and roadmap
├── oxeye.pyi                # Stub file for python method declarations
└── pyproject.toml           # Python library build system and metadata

🙈 Notable exemptions: example.simplicity, formatting rules, gitignore and lockfiles

Prerequisites

  • git - --fast-version-control
  • uv - Extremely fast Python package & project manager, written in Rust
  • rustup - An installer for the systems programming language Rust
  • maturin - Build and publish creates with pyo3, cffi and uniffi bindings as well as rust binaries as python packages
Environment setup guide

The following guide walks through setting up your local working environment using git as distributed version control system, uv as Python package and version manager, rustup toolchain installer for Rust programming language and maturin buildtools for python packages using Rust. If you do not have git installed, run the following command.

Install using Homebrew (Darwin)
brew install git
Install via binary installer (Linux or Windows Subsystem for Linux [WSL])
  • Debian-based package management

    sudo apt install git-all
    
  • Fedora-based package management

    sudo dnf install git-all
    
Install using Winget (Windows Powershell)
winget install --id Git.Git -e --source winget

If you do not have uv installed, run the following command.

Install using Homebrew (Darwin)
brew install uv
Install using standalone installer (Darwin, Linux, or Windows Subsystem for Linux [WSL])
curl -LsSf https://astral.sh/uv/install.sh | sh
Install using Winget (Windows Powershell)
winget install --id=astral-sh.uv -e

If you do not have rustup installed, run the following command.

Install using Homebrew (Darwin)
brew install rustup
Install using standalone installer (Darwin, Linux or Windows Subsystem for Linux [WSL])
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install using Winget (Windows Powershell)
winget install --id Rustlang.Rustup

After running rustup in your command line, you should be able to validate correct installations as such:

rustc --version
cargo --version

If you do not have maturin installed, run the following command.

Install using Homebrew (Darwin)
brew install maturin
Build from Source using cargo (Linux, Powershell and Windows Subsystem for Linux [WSL])
cargo install --locked maturin

Once you have all tools installed, you can clone the current repository and install any version of Python above version 3.9 for this project. The following commands help you set up and activate a Python virtual environment where uv can download project dependencies from the PyPI open-sourced registry defined under pyproject.toml file.

Set up environment and synchronize project dependencies
git clone git@github.com:krutt/oxeye.git
cd oxeye
uv venv --python 3.9.6
source .venv/bin/activate
uv sync --dev --seed

Roadmap

  • Cross-check and update language references
  • Implement Go to definitions

Acknowledgements

  1. อัญชัญ - Anchan typeface by Alisara Zilch
  2. BlockStreamResearch/SimplicityHL - Rust-like high-level language that compiles down to Simplicity bytecode. Work in progress.
  3. BlockStreamResearch/simplicity - Simplicity is a blockchain programming language designed as an alternative to Bitcoin script.
  4. BlockStreamResearch/rust-simplicity - Official Rust library for Simplicity language
  5. Simplicity: Next-Generation Smart Contracts for Bitcoin - Developers write SimplicityHL, full nodes execute Simplicity.
  6. Tower LSP - Language Server Protocol implementation written in Rust

License

This project is licensed under the terms of the MIT license.

About

Language Server Protocol server for Simplicity blockchain programming language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载