SaaS News Hubb
Advertisement
  • Home
  • News
  • Software Engineering
  • Software Development
  • SAAS Applications
  • Contact Us
No Result
View All Result
  • Home
  • News
  • Software Engineering
  • Software Development
  • SAAS Applications
  • Contact Us
No Result
View All Result
SaaS News Hubb
Home Software Engineering

Bringing code navigation to communities

by admin
April 29, 2022
in Software Engineering
0
SHARES
0
VIEWS
Share on FacebookShare on Twitter


We’re proud to announce the availability of search-based code navigation for the Elixir programming language. Yet this is more than just new functionality. It’s the first example of a language community writing and submitting their own code for search-based code navigation.

Since GitHub introduced code navigation, we’ve received enthusiastic feedback from users. However, we hear one question over and over again: “When will my favorite language be supported?” We believe that every programming language deserves best-in-class support in GitHub. However, GitHub hosts code written in thousands of different programming languages, and we at GitHub can commit to supporting only a small subset of these languages ourselves. To this end, we’ve been working hard to empower language communities to integrate with our code navigation systems. After all, nobody understands a programming language better than the people who build it!

Community contributions welcome!

Would you like to develop and contribute search-based code navigation for a language? If a Tree-sitter grammar tool exists for your language, you can do so using Tree-sitter’s tree query language. This language describes how our code navigation systems scan through syntax trees and how to extract the important parts of a declaration or reference. This process is known as tagging, and it’s integrated with the tree-sitter command-line tool so that you can run and test tag queries locally. When a user pushes new commits or creates a pull request, the GitHub code navigation systems use tag queries to extract jump-to-definition and find-all-references information. Note: If you’re interested in how search-based code navigation works, you can read a technical report that describes the architecture and evolution of GitHub’s implementation of code navigation.

How do I get started?

Complete documentation, including how to write unit tests for your tags queries, can be found here. For examples of tag queries, you can check out the Elixir tags implementation, or those written for Python or Ruby. Once you’ve implemented tag queries for a language, have written unit tests, and are satisfied with the output from tree-sitter tags, you can submit a request on the Code Search and Navigation Feedback discussion page in the GitHub Discussions page in the GitHub feedback repository. The Code Navigation team will add this to their roadmap. When we’re confident in the quality of yielded tags and the load on the back-end systems that handle code navigation, we can enable it in testing for a subset of contributors, eventually rolling it out to all GitHub users, on both private and public repositories.

Please note that search-based code navigation is distinct from GitHub code search. Code search provides a view across all of the corpus of code on GitHub, whereas search-based code navigation is a part of the experience of reading code within a single repository. Search-based code navigation is also distinct from our support for precise code navigation. However, we hope to empower language communities to inform and contribute to the development of and support for these and other features in the future.

We’re committed to working with language maintainers and contributors to keep these rules as useful and up-to-date as possible. Whether you’re a longtime language contributor or someone seeking to enter the community for the first time, we encourage you to take a look at adding support for search-based code navigation, and join the community on the GiHub Discussions Page.



Source link

Previous Post

The Overflow #123: Will Web3 build a better internet?

Next Post

What is gross revenue? [+ How to calculate & record ]

Related Posts

Software Engineering

Make your open-source project public before you’re ready (Ep. 444)

May 21, 2022
Software Engineering

A Survey of Causal Inference Applications at Netflix | by Netflix Technology Blog | May, 2022

May 21, 2022
Software Engineering

CloudGraph with Tyson Kunovsky – Software Engineering Daily

May 21, 2022
Software Engineering

Action needed by GitHub Connect customers using GHES 3.1 and older to adopt new authentication token format updates

May 20, 2022
Software Engineering

The Overflow #126: The 2022 Developer Survey now open

May 20, 2022
Software Engineering

Browser Observability With Jay Khatri

May 20, 2022

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Most Popular

Software Engineering

Make your open-source project public before you’re ready (Ep. 444)

May 21, 2022
Software Engineering

A Survey of Causal Inference Applications at Netflix | by Netflix Technology Blog | May, 2022

May 21, 2022
Software Engineering

CloudGraph with Tyson Kunovsky – Software Engineering Daily

May 21, 2022
Software Development

Developer Onboarding Best Practices | Pluralsight

May 21, 2022
Software Development

How to Connect WordPress to Cloud Storage Services

May 21, 2022
SAAS Applications

How to auto populate a field value from entity form to HTML web resource section (Note Entity adx.annotations.html)?

May 21, 2022
News

Claap prevents meeting fatigue with async video collaboration – TechCrunch

May 21, 2022
Software Engineering

Action needed by GitHub Connect customers using GHES 3.1 and older to adopt new authentication token format updates

May 20, 2022
Software Engineering

The Overflow #126: The 2022 Developer Survey now open

May 20, 2022

© 2022 Sass News Hubb All rights reserved.

Use of these names, logos, and brands does not imply endorsement unless specified. By using this site, you agree to the Privacy Policy

Navigate Site

  • Home
  • News
  • Software Engineering
  • Software Development
  • SAAS Applications
  • Contact Us

Newsletter Sign Up

No Result
View All Result
  • Home
  • News
  • Software Engineering
  • Software Development
  • SAAS Applications
  • Contact Us