Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/legesher/tree-sitter-legesher-python

✨ Legesher's Python grammar for Tree-Sitter 🌳
https://github.com/legesher/tree-sitter-legesher-python

developer-tools grammar hacktoberfest language legesher open-source python text-editor tree-sitter

Last synced: 29 days ago
JSON representation

✨ Legesher's Python grammar for Tree-Sitter 🌳

Lists

README

        

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`](https://github.com/legesher/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](https://github.com/legesher/legesher-translations)! 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](https://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!

```python
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](https://docs.legesher.io/the-official-things/contributing-guidelines) and [language translation conventions](https://docs.legesher.io/legesher-translations/translation-conventions). As a member of our community, you must abide by our [Code Of Conduct](https://docs.legesher.io/the-official-things/code-of-conduct).

## Installation

**1️⃣ Fork the legesher/tree-sitter-legesher-python repository**
Follow these instructions on [how to fork a repository](https://help.github.com/en/articles/fork-a-repo)

**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](http://tree-sitter.github.io) `tree-sitter-python`. This package works alongside the _language_ repository [`language-legesher-python`](https://github.com/legesher/language-legesher-python). These two repositories work closely together, so it may be useful to touch up on both repositories' documentation.

**The Python Language**

- [Python 2 Grammar](https://docs.python.org/2/reference/grammar.html)
- [Python 3 Grammar](https://docs.python.org/3/reference/grammar.html)
- [Tree Sitter](https://github.com/tree-sitter/tree-sitter)

## The Community

Meet our [community](https://github.com/legesher/legesher/tree/master/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](https://allcontributors.org/docs/en/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](https://allcontributors.org/) specification. Contributions of any kind are welcome and recognized. ✨_