Skip to content

legesher/tree-sitter-legesher-python

Repository files navigation

Legesher's Tree-Sitter-Python

πŸ’» Code in Python 🐍using your native written ✏️language.

Programming with Legesher's dev tools empowers any developer to create without losing the art of innovation πŸ’‘, creativity 🎨, or collaboration 🀝 in translation.

Build David Dependency Status Pull Requests Welcome First Timers Only

Contribute on Github Watch on Twitch chat on Discord follow on Instagram follow on Twitter Read on Medium Subscribe on Mailchimp

Introduction

tree-sitter-legesher-python 🌳 is the written language interchangeable version of the tree-sitter grammar for the python language used by text editors such as Atom. This npm package is used by language-legesher-python to enable you to code in the language you natively use.

πŸ“’ Check if your native language is available in the Legesher translation repository! If not, we'd love your help to add it!!

Getting Started

In order to use the tree-sitter-legesher-python grammar to code, you will need to follow the following steps:

1️⃣ Download Atom (a text editor)
Head on over to Atom.io to download the latest version of the text editor.

2️⃣ Update Preferences
Once installed on your local computer, open the Atom application. In the options in the top menu bar, navigate to Atom's Settings Atom > Preferences... . A settings window should pop up in your editor.

3️⃣ Disable Atom's language-python
Continue by clicking the Packages section. Here, you'll see a number of items: Installed Packages, Community Packages, Core Packages, Development Packages, Git Packages. Using the search bar, type language-python to find the Core Package currently installed on your text editor. Click Disable.

4️⃣ Download Legesher's language-legesher-python
Now, head to the Install section to install a new package to your text editor (make sure that the Packages button is selected instead of the Themes). Type language-legesher-python in the search bar to find Legesher's package, and click Install.

5️⃣ Enable Legesher's language-legesher-python
Sometimes you'll have to enable a newly installed package by clicking the Enable button in the package when it is within the Packages section of the settings.

6️⃣ Write A "Hello World" Program In Your Language
Now, you can start coding in Python using any written language currently available within Legesher's translation library! The syntax highlighting should match as if you were coding Python in English!

def main():
    print "Hello World"

Contributing

❀️Legesher relies on the passionate members of its community (both developer and non-developer alike) to keep delivering impactful tools to people all over the world.

Before contributing, be sure to consult Legesher's contribution guidelines and language translation conventions. As a member of our community, you must abide by our Code Of Conduct.

Installation

1️⃣ Fork the legesher/tree-sitter-legesher-python repository
Follow these instructions on how to fork a repository

2️⃣ Cloning the repository
Once you have set up your fork of the legesher/tree-sitter-legesher-python repository, you'll want to clone it to your local machine. This is so you can make and test all of your personal edits before adding it to the master version of legesher/tree-sitter-legesher-python.

Navigate to the location on your computer where you want to host your code. Once in the appropriate folder, run the following command to clone the repository to your local machine.

git clone [email protected]:your-username/tree-sitter-legesher-python.git

3️⃣ Bootstrapping the repository
You'll then want to navigate within the folder that was just created that contains all of the content of the forked repository. There you'll want to run the installation script to get the updated version of all the dependencies.

cd tree-sitter-legesher-python
npm install

Development

We love your desire to give back, and want to make the process as welcoming to newcomers and experts as possible. We're working on developing more intuitive tutorials for individuals of all skill levels and expertise, so if you think the community would value from being walked through the steps you're going through please share! ❀️

Test Changes

When you start making changes to the code on your local branch, you'll need to test those changes. Before your code can be accepted into the master branch, it will have to pass all of the tests within /examples/*. To check the updates made to the grammar, run the following commands:

1️⃣ Save Current Changes
When you get to a point when you want to test the functionality of the code, make sure all your changes are saved. ❗They don't necessarily have to be committed changes in order to test them.

2️⃣ Generate the updated tree-sitter parser
You'll need to generate a new tree-sitter grammar whenever you make changes in this repository. Running this command will usually update files within the /src/* folder.

tree-sitter generate

3️⃣ Configure the grammar
This command makes sure the binding information for the grammar is properly set up and configured.

node-gyp configure

4️⃣ Build the grammar Using the newly configured bindings, we can now build the new grammar with your changes.

node-gyp build

5️⃣ Test changes
To make sure that the grammar is properly updated, run the tests. If you add elements that do not have tests to prove whether they work correctly or not, please include them in your pull request.

tree-sitter test

References

This repository is a forked extension of tree-sitter's tree-sitter-python. This package works alongside the language repository language-legesher-python. These two repositories work closely together, so it may be useful to touch up on both repositories' documentation.

The Python Language

The Community

Meet our community (full of contributors, backers, sponsors, and supporters) that give a little piece of their heart to this project. Thank you so much. (emoji key)


Madison (Pfaff) Edgar

πŸ’» πŸ› πŸ“†

Wesley Cranston

πŸ’» πŸ’Œ

dolphincodes

πŸ“–

Leonardo Furtado

πŸ“–

Eshan Agarwal

πŸ“–

Mythreya Kuricheti

πŸ›

Jonathan Alvaro

πŸ’Œ

Zeeshan Ali

πŸ“–

andres-posadas

πŸ“–

calra123

πŸ’»

Ajai Dubey

πŸ€”

alxnull

🚧

This project follows the all-contributors specification. Contributions of any kind are welcome and recognized. ✨