Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add syntax highlighting for async/await/try keyword #378

Merged
merged 3 commits into from
May 19, 2019

Conversation

tesuji
Copy link

@tesuji tesuji commented May 18, 2019

Snippet:

async fn send_message(&self, content: &str) -> Result<MessageId, Error> {
    self.rate_limiter.acquire(1).await; // Acquire 1 permit of async semaphore
    
    let serialized_message = serializer.serialize(content);

    match writer.enqueue_message(serialized_message).await {
        Ok(id) => {
            // Sending the message was fully successful and the ownership had
            // had been passed. The permit now will get released when a response
            // is received.
            Ok(id)
        },
        Err(e) => {
            // Sending the message failed. Since the permit hasn't been used,
            // release it immediately.
            self.rate_limiter.release(1);
            Err(e)
        }
    }
}

After this change:
image

Closes #377

@tesuji
Copy link
Author

tesuji commented May 18, 2019

@bors r? @ehuss

@tesuji tesuji changed the title Add syntax highlighting for await Add syntax highlighting for async/await May 18, 2019
@tesuji
Copy link
Author

tesuji commented May 18, 2019

I also sent a patch to github rust syntax repo. Hope the author not too busy
to merge it.

@tesuji tesuji changed the title Add syntax highlighting for async/await Add syntax highlighting for async/await/try keyword May 18, 2019
@ehuss
Copy link

ehuss commented May 18, 2019

Thanks, can you add some tests to syntax_test_misc.rs?

@tesuji
Copy link
Author

tesuji commented May 19, 2019

I added a minor test, but I don't whether it is good enough.

@ehuss
Copy link

ehuss commented May 19, 2019

Seems good enough, thanks!

bors r+

bors bot added a commit that referenced this pull request May 19, 2019
378: Add syntax highlighting for `async/await/try` keyword r=ehuss a=lzutao

Snippet:
```rust
async fn send_message(&self, content: &str) -> Result<MessageId, Error> {
    self.rate_limiter.acquire(1).await; // Acquire 1 permit of async semaphore
    
    let serialized_message = serializer.serialize(content);

    match writer.enqueue_message(serialized_message).await {
        Ok(id) => {
            // Sending the message was fully successful and the ownership had
            // had been passed. The permit now will get released when a response
            // is received.
            Ok(id)
        },
        Err(e) => {
            // Sending the message failed. Since the permit hasn't been used,
            // release it immediately.
            self.rate_limiter.release(1);
            Err(e)
        }
    }
}
```

After this change:
![image](https://user-images.githubusercontent.com/15225902/57970102-7d49d200-79a7-11e9-8de0-41d92328abc4.png)

Closes #377 

Co-authored-by: Lzu Tao <taolzu@gmail.com>
@bors
Copy link

bors bot commented May 19, 2019

Build succeeded

  • continuous-integration/travis-ci/push

@bors bors bot merged commit 48db5f8 into rust-lang:master May 19, 2019
@tesuji tesuji deleted the syntax-await branch May 20, 2019 03:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Highlighting await keyword
2 participants