]> git.lizzy.rs Git - rust.git/log
rust.git
6 years agoUpdate gen.rs
Christopher Durham [Sun, 28 Jan 2018 09:31:18 +0000 (04:31 -0500)]
Update gen.rs

6 years agoMerge #20
bors[bot] [Sun, 28 Jan 2018 09:28:45 +0000 (09:28 +0000)]
Merge #20

20: Drop `repr(u32)` from SyntaxKind r=CAD97 a=matklad

Nomicon says it disables some optimizations:
https://doc.rust-lang.org/beta/nomicon/other-reprs.html#repru-repri

6 years agoDrop `repr(u32)` from SyntaxKind
Aleksey Kladov [Sun, 28 Jan 2018 09:24:03 +0000 (12:24 +0300)]
Drop `repr(u32)` from SyntaxKind

Nomicon says it disables some optimizations:
https://doc.rust-lang.org/beta/nomicon/other-reprs.html#repru-repri

6 years agoMerge #18
bors[bot] [Sun, 28 Jan 2018 09:07:26 +0000 (09:07 +0000)]
Merge #18

18: Comments r=matklad a=matklad

6 years agoDocument events a bit
Aleksey Kladov [Sun, 28 Jan 2018 09:06:43 +0000 (12:06 +0300)]
Document events a bit

6 years agoDocument events a bit
Aleksey Kladov [Sun, 28 Jan 2018 09:06:26 +0000 (12:06 +0300)]
Document events a bit

6 years agoExplain TOMBSTONE and EOF
Aleksey Kladov [Sun, 28 Jan 2018 08:43:59 +0000 (11:43 +0300)]
Explain TOMBSTONE and EOF

6 years agoMerge #17
bors[bot] [Sun, 28 Jan 2018 08:18:47 +0000 (08:18 +0000)]
Merge #17

17: Document the design of `FileBuilder` r=matklad a=matklad

6 years agoDocument the design of `FileBuilder`
Aleksey Kladov [Sun, 28 Jan 2018 08:18:17 +0000 (11:18 +0300)]
Document the design of `FileBuilder`

6 years agoMerge #16
bors[bot] [Sun, 28 Jan 2018 08:07:56 +0000 (08:07 +0000)]
Merge #16

16: Proof-of-concept SyntaxKind as enum r=matklad a=CAD97

This was the one bit about the original RFC I was most confused about. Why isn't `SyntaxKind` a normal `enum`?

If it's to signify that it's non-exhaustive [`#[non_exhaustive]`](https://github.com/rust-lang/rust/issues/44109) should be used. (Or `#[doc(hidden)] __Nonexhaustive` on stable.)

If it's so that more variants can be added externally, why? There's no need for that, that I can foresee.

If it's to expose the `SyntaxKind` type but not any of its instances, why? This is the only actual benefit I can see of this pseudo-enum style.

This diff is meant to be as non-invasive as possible, and as such reexports all symbols as they existed prior to this. It's diffed on top of the assumed-good-to-merge #15 to avoid the conflict between them.

Diff without #15: <https://github.com/matklad/libsyntax2/pull/16/commits/4244948c6b1a62bd0e1ef276d1f0cc22c36f6f66>
Just `src/syntax_kinds.rs`: <https://github.com/matklad/libsyntax2/pull/16/commits/4244948c6b1a62bd0e1ef276d1f0cc22c36f6f66#diff-8f0d69eb4fe0148851505f787b6fd3bb>

6 years agoMerge #15
bors[bot] [Sun, 28 Jan 2018 07:51:49 +0000 (07:51 +0000)]
Merge #15

15: Add minimal docs to most public symbols r=matklad a=CAD97

Also sticks a safety on some warnings that rustc provides.

If you're just stubbing out a module and don't want rustc refusing to compile it because you haven't documented it yet, stick `#![allow(missing_docs)]` at the top.

6 years agoConvert SyntaxKind to an enum
Christopher Durham [Sun, 28 Jan 2018 02:36:28 +0000 (21:36 -0500)]
Convert SyntaxKind to an enum

6 years agoAdd minimal docs to most public symbols
Christopher Durham [Sun, 28 Jan 2018 01:29:14 +0000 (20:29 -0500)]
Add minimal docs to most public symbols

6 years agoMerge #14
bors[bot] [Sun, 28 Jan 2018 00:24:27 +0000 (00:24 +0000)]
Merge #14

14: Normalize test newlines r=matklad a=CAD97

Tests pass with CRLF newlines now

6 years agoThe last of the Masters
Aleksey Kladov [Sun, 28 Jan 2018 00:23:05 +0000 (03:23 +0300)]
The last of the Masters

6 years agoNormalize test newlines
Christopher Durham [Sun, 28 Jan 2018 00:17:05 +0000 (19:17 -0500)]
Normalize test newlines

Tests pass with CRLF newlines now

6 years agoAdd appveyor badge
Aleksey Kladov [Sun, 28 Jan 2018 00:15:30 +0000 (03:15 +0300)]
Add appveyor badge

6 years agoFix typo
Aleksey Kladov [Sun, 28 Jan 2018 00:14:30 +0000 (03:14 +0300)]
Fix typo

6 years agoCI: add windows testing
Aleksey Kladov [Sun, 28 Jan 2018 00:13:44 +0000 (03:13 +0300)]
CI: add windows testing

6 years agoMerge pull request #12 from CAD97/enforce-fmt
Christopher Durham [Sat, 27 Jan 2018 23:51:12 +0000 (18:51 -0500)]
Merge pull request #12 from CAD97/enforce-fmt

Enforce rustfmt format

6 years agoBe explicit for Travis' sake
Christopher Durham [Sat, 27 Jan 2018 23:43:19 +0000 (18:43 -0500)]
Be explicit for Travis' sake

6 years agoEnforce rustfmt format
Christopher Durham [Sat, 27 Jan 2018 23:36:02 +0000 (18:36 -0500)]
Enforce rustfmt format

6 years agoEnforce rustfmt format
Christopher Durham [Sat, 27 Jan 2018 23:31:23 +0000 (18:31 -0500)]
Enforce rustfmt format

6 years agoAdd tests for parser recovery in fields
Aleksey Kladov [Sat, 27 Jan 2018 23:20:40 +0000 (02:20 +0300)]
Add tests for parser recovery in fields

6 years agoDrop high-order stuff for good
Aleksey Kladov [Sat, 27 Jan 2018 22:13:27 +0000 (01:13 +0300)]
Drop high-order stuff for good

6 years agoSimplify
Aleksey Kladov [Sat, 27 Jan 2018 22:12:49 +0000 (01:12 +0300)]
Simplify

6 years agoBrush up readme
Aleksey Kladov [Sat, 27 Jan 2018 21:58:47 +0000 (00:58 +0300)]
Brush up readme

6 years agoFix link
Aleksey Kladov [Sat, 27 Jan 2018 21:35:17 +0000 (00:35 +0300)]
Fix link

6 years agoBrush up CONTRIBUTING.md
Aleksey Kladov [Sat, 27 Jan 2018 21:34:16 +0000 (00:34 +0300)]
Brush up CONTRIBUTING.md

6 years ago:arrow_up: deps
Aleksey Kladov [Sat, 27 Jan 2018 21:24:40 +0000 (00:24 +0300)]
:arrow_up: deps

6 years agoCI badge
Aleksey Kladov [Sat, 27 Jan 2018 21:10:38 +0000 (00:10 +0300)]
CI badge

6 years agoCI
Aleksey Kladov [Sat, 27 Jan 2018 21:06:39 +0000 (00:06 +0300)]
CI

6 years agoSimplify
Aleksey Kladov [Sat, 27 Jan 2018 21:05:31 +0000 (00:05 +0300)]
Simplify

6 years agoSimplify
Aleksey Kladov [Mon, 22 Jan 2018 08:31:55 +0000 (11:31 +0300)]
Simplify

6 years agoExtract nested trees
Aleksey Kladov [Mon, 22 Jan 2018 08:29:32 +0000 (11:29 +0300)]
Extract nested trees

6 years agoRemove high-order bits from tuple struct
Aleksey Kladov [Sun, 21 Jan 2018 23:21:53 +0000 (02:21 +0300)]
Remove high-order bits from tuple struct

6 years agoCommand-line utilty to print the parse tree
Aleksey Kladov [Sun, 21 Jan 2018 23:12:26 +0000 (02:12 +0300)]
Command-line utilty to print the parse tree

6 years agoTest attribute recovery
Aleksey Kladov [Sat, 20 Jan 2018 21:36:17 +0000 (00:36 +0300)]
Test attribute recovery

6 years agoRemove high-order bits from attributes
Aleksey Kladov [Sat, 20 Jan 2018 21:31:29 +0000 (00:31 +0300)]
Remove high-order bits from attributes

6 years agoMarkers API
Aleksey Kladov [Sat, 20 Jan 2018 20:25:34 +0000 (23:25 +0300)]
Markers API

6 years agoDrop more high-order stuff
Aleksey Kladov [Sat, 20 Jan 2018 18:49:58 +0000 (21:49 +0300)]
Drop more high-order stuff

6 years agoDrop more high-order stuff
Aleksey Kladov [Sat, 20 Jan 2018 18:07:34 +0000 (21:07 +0300)]
Drop more high-order stuff

6 years agoDrop high-order combinators
Aleksey Kladov [Sat, 20 Jan 2018 14:21:13 +0000 (17:21 +0300)]
Drop high-order combinators

6 years agoSimplify
Aleksey Kladov [Mon, 15 Jan 2018 19:41:57 +0000 (22:41 +0300)]
Simplify

6 years agoRename `many` -> `repeat`
Aleksey Kladov [Mon, 15 Jan 2018 18:44:30 +0000 (21:44 +0300)]
Rename `many` -> `repeat`

6 years agoG: struct flavors
Aleksey Kladov [Sat, 13 Jan 2018 19:00:26 +0000 (22:00 +0300)]
G: struct flavors

6 years agoG: use trees
Aleksey Kladov [Sat, 13 Jan 2018 10:42:19 +0000 (13:42 +0300)]
G: use trees

6 years agoG: allow self & super in paths
Aleksey Kladov [Sat, 13 Jan 2018 08:55:03 +0000 (11:55 +0300)]
G: allow self & super in paths

6 years agoG: visibility
Aleksey Kladov [Fri, 12 Jan 2018 19:05:46 +0000 (22:05 +0300)]
G: visibility

6 years agoNest paths
Aleksey Kladov [Fri, 12 Jan 2018 17:59:19 +0000 (20:59 +0300)]
Nest paths

6 years agoSupport tree rebalancing
Aleksey Kladov [Fri, 12 Jan 2018 17:32:37 +0000 (20:32 +0300)]
Support tree rebalancing

6 years agoEncapsulate position
Aleksey Kladov [Thu, 11 Jan 2018 20:25:14 +0000 (23:25 +0300)]
Encapsulate position

6 years agoG: item outer attributes
Aleksey Kladov [Thu, 11 Jan 2018 20:01:12 +0000 (23:01 +0300)]
G: item outer attributes

6 years agoG: leading colon is a part of path segment
Aleksey Kladov [Thu, 11 Jan 2018 19:11:44 +0000 (22:11 +0300)]
G: leading colon is a part of path segment

6 years agoG: multisegment paths
Aleksey Kladov [Thu, 11 Jan 2018 17:55:08 +0000 (20:55 +0300)]
G: multisegment paths

6 years agodon't pretend to be Cargo
Aleksey Kladov [Wed, 10 Jan 2018 20:06:46 +0000 (23:06 +0300)]
don't pretend to be Cargo

6 years agoMove validation to issues
Aleksey Kladov [Wed, 10 Jan 2018 20:04:20 +0000 (23:04 +0300)]
Move validation to issues

6 years agoMerge pull request #1 from gitter-badger/gitter-badge
Aleksey Kladov [Wed, 10 Jan 2018 19:50:41 +0000 (22:50 +0300)]
Merge pull request #1 from gitter-badger/gitter-badge

Add a Gitter chat badge to README.md

6 years agoAdd Gitter badge
The Gitter Badger [Wed, 10 Jan 2018 19:49:22 +0000 (19:49 +0000)]
Add Gitter badge

6 years agoLicenses
Aleksey Kladov [Wed, 10 Jan 2018 19:47:04 +0000 (22:47 +0300)]
Licenses

6 years agoSome architecture notes
Aleksey Kladov [Wed, 10 Jan 2018 19:45:01 +0000 (22:45 +0300)]
Some architecture notes

6 years agoD: start documenting stuff
Aleksey Kladov [Wed, 10 Jan 2018 18:58:38 +0000 (21:58 +0300)]
D: start documenting stuff

6 years agoG: simplest use items
Aleksey Kladov [Tue, 9 Jan 2018 20:32:18 +0000 (23:32 +0300)]
G: simplest use items

6 years agoG: mod item
Aleksey Kladov [Tue, 9 Jan 2018 19:35:55 +0000 (22:35 +0300)]
G: mod item

6 years agoG: extern crate
Aleksey Kladov [Mon, 8 Jan 2018 21:06:42 +0000 (00:06 +0300)]
G: extern crate

6 years agoGeneralized lookahead
Aleksey Kladov [Mon, 8 Jan 2018 19:40:14 +0000 (22:40 +0300)]
Generalized lookahead

6 years agoMusings about items
Aleksey Kladov [Mon, 8 Jan 2018 19:20:58 +0000 (22:20 +0300)]
Musings about items

6 years agoG: special-case C++ semicolon
Aleksey Kladov [Mon, 8 Jan 2018 18:57:19 +0000 (21:57 +0300)]
G: special-case C++ semicolon

6 years agoG: inner attributes
Aleksey Kladov [Mon, 8 Jan 2018 18:40:00 +0000 (21:40 +0300)]
G: inner attributes

6 years agoL: true and false are keywords
Aleksey Kladov [Mon, 8 Jan 2018 18:21:59 +0000 (21:21 +0300)]
L: true and false are keywords

6 years agoSplit into modules
Aleksey Kladov [Sun, 7 Jan 2018 18:46:10 +0000 (21:46 +0300)]
Split into modules

6 years agogrammar.rs is folder
Aleksey Kladov [Sun, 7 Jan 2018 18:41:00 +0000 (21:41 +0300)]
grammar.rs is folder

6 years agoG: some attributes
Aleksey Kladov [Sun, 7 Jan 2018 18:40:18 +0000 (21:40 +0300)]
G: some attributes

6 years agoIntroduce EOF token
Aleksey Kladov [Sun, 7 Jan 2018 18:09:05 +0000 (21:09 +0300)]
Introduce EOF token

6 years agoSimplify non-white token handling
Aleksey Kladov [Sun, 7 Jan 2018 17:14:26 +0000 (20:14 +0300)]
Simplify non-white token handling

6 years agoSimiplify
Aleksey Kladov [Sun, 7 Jan 2018 16:56:33 +0000 (19:56 +0300)]
Simiplify

6 years agoG: start attributes
Aleksey Kladov [Sun, 7 Jan 2018 16:50:54 +0000 (19:50 +0300)]
G: start attributes

6 years agoG: function item
Aleksey Kladov [Sun, 7 Jan 2018 13:01:30 +0000 (16:01 +0300)]
G: function item

6 years agoG: shebang
Aleksey Kladov [Sun, 7 Jan 2018 12:34:11 +0000 (15:34 +0300)]
G: shebang

6 years agoTest utils
Aleksey Kladov [Sun, 7 Jan 2018 11:56:08 +0000 (14:56 +0300)]
Test utils

6 years agoError placement
Aleksey Kladov [Sun, 7 Jan 2018 10:09:13 +0000 (13:09 +0300)]
Error placement

6 years agoTests for partial parse
Aleksey Kladov [Sun, 7 Jan 2018 09:32:29 +0000 (12:32 +0300)]
Tests for partial parse

6 years agoSmart eof for blocks
Aleksey Kladov [Sun, 7 Jan 2018 09:13:01 +0000 (12:13 +0300)]
Smart eof for blocks

6 years agoError builder
Aleksey Kladov [Sun, 7 Jan 2018 07:55:43 +0000 (10:55 +0300)]
Error builder

6 years agoStore syntax errors
Aleksey Kladov [Sun, 7 Jan 2018 07:10:35 +0000 (10:10 +0300)]
Store syntax errors

6 years agoBoolean results
Aleksey Kladov [Sat, 6 Jan 2018 18:54:55 +0000 (21:54 +0300)]
Boolean results

6 years agoG: struct fields
Aleksey Kladov [Sat, 6 Jan 2018 14:16:00 +0000 (17:16 +0300)]
G: struct fields

6 years agoParser: first struct :-)
Aleksey Kladov [Mon, 1 Jan 2018 20:22:01 +0000 (23:22 +0300)]
Parser: first struct :-)

6 years agoParser: first scraches
Aleksey Kladov [Mon, 1 Jan 2018 19:13:04 +0000 (22:13 +0300)]
Parser: first scraches

6 years agoParser: guess what? Groundwork!
Aleksey Kladov [Mon, 1 Jan 2018 15:58:46 +0000 (18:58 +0300)]
Parser: guess what? Groundwork!

6 years agoRename
Aleksey Kladov [Mon, 1 Jan 2018 14:21:53 +0000 (17:21 +0300)]
Rename

6 years agoParser: even more groundwork
Aleksey Kladov [Mon, 1 Jan 2018 13:05:46 +0000 (16:05 +0300)]
Parser: even more groundwork

6 years agoParser: more groundwork
Aleksey Kladov [Mon, 1 Jan 2018 12:10:56 +0000 (15:10 +0300)]
Parser: more groundwork

6 years agoParser: extract sink trait
Aleksey Kladov [Sun, 31 Dec 2017 21:13:56 +0000 (00:13 +0300)]
Parser: extract sink trait

6 years agoParser: initial
Aleksey Kladov [Sun, 31 Dec 2017 20:34:29 +0000 (23:34 +0300)]
Parser: initial

6 years agoParser test boilerplate
Aleksey Kladov [Sun, 31 Dec 2017 20:27:36 +0000 (23:27 +0300)]
Parser test boilerplate

6 years agoDebug for Node
Aleksey Kladov [Sun, 31 Dec 2017 17:41:15 +0000 (20:41 +0300)]
Debug for Node

6 years agoWow, it is possible to implement Index for Vec!
Aleksey Kladov [Sun, 31 Dec 2017 17:37:34 +0000 (20:37 +0300)]
Wow, it is possible to implement Index for Vec!

6 years agoFile builder growndwork
Aleksey Kladov [Sun, 31 Dec 2017 17:30:21 +0000 (20:30 +0300)]
File builder growndwork

6 years agoMove tree to a separate module
Aleksey Kladov [Sun, 31 Dec 2017 15:58:03 +0000 (18:58 +0300)]
Move tree to a separate module