Skip to content

Commit

Permalink
prettify readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Niki4tap committed Jan 31, 2023
1 parent cff82a6 commit 004970b
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 4 deletions.
40 changes: 36 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,48 @@
# Marker
<h1 align="center">Marker</h1>
<p align="center">
<br/>
<img height=200 src="res/logo.svg" alt="Marker logo"/>
</p>

A project trying to implement a stable linting API for Rust.
<br/>

## Contributing
[![Bors enabled](https://bors.tech/images/badge_small.svg)](https://app.bors.tech/repositories/46214)
![CI Status](https://github.com/rust-marker/marker/actions/workflows/rust_bors.yml/badge.svg)

**An experimental linting interface for Rust. Let's make custom lints a reality!**

> **Note**
>
> The project is in the very early stages of development, some things are still missing and the API is not stable yet.
## Status

What works:
- A basic Item and Pattern representation is available. Expressions and types are partially implemented
- Dynamic libraries can be loaded as *lint crates*. A few example lints can be found in the `marker_lints` directory
- The API is separated from the driver and translation layer. Rustc is currently the only backend development along with the API

The internal structure of marker and its components is documented in [`docs/internal/`](./docs/internal/).
What's next:
- The main goal is to complete the AST representation, and start on user tests
- A focus is also set on tooling. Working with marker should be simple and fun for lint developers and users.
- The project is designed to support multiple drivers and unify code analysis for Rust. Additionally, drivers like `rust-analyzer` will be investigated.
- ...and a lot more things! Check out the open [issues](https://github.com/rust-marker/marker/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)

Sounds interesting?
* Do you have a lint idea? Help us out by creating a [user story](https://github.com/rust-marker/design/issues/new?assignees=&labels=A-user-story&template=user-story.md&title=)
* Have you found a bug or have suggestions? Please [create an issue](https://github.com/rust-marker/marker/issues/new), any kind of feedback or question is welcome!
* Do you want to help? Even better, check out [open issues](https://github.com/rust-marker/marker/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)

## Running

The project is currently only available in this GitHub repo.
For a quick test, clone the repo and run `cargo dogfood`.
This will start `cargo-marker`, load [`./marker_lints`](./marker_lints) as a *lint crate* and run it in this repository.

## Contributing

Internal structure of marker and its components is documented in [`docs/internal/`](./docs/internal/).

## License

Copyright (c) 2022-2022 Rust-marker
Expand All @@ -20,3 +51,4 @@ Rust-marker is distributed under the terms of both the MIT license
and the Apache License (Version 2.0).

See [LICENSE-APACHE](./LICENSE-APACHE), [LICENSE-MIT](./LICENSE-MIT).

60 changes: 60 additions & 0 deletions res/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 004970b

Please sign in to comment.