Commit Graph

9 Commits

Author SHA1 Message Date
Allan Odgaard
49a424438c Revert "Apply injections from child rules without match pattern"
This reverts commit fc419f5332.
2013-06-15 23:08:11 +07:00
Joachim Mårtensson
fc419f5332 Apply injections from child rules without match pattern
This is useful when including a grammar and its injections needs to be applied.
2013-06-15 16:06:43 +07:00
Joachim Mårtensson
35227b48ea Injected rules rank higher if they match against the left scope
This allows overriding “native” rules via injecting.

This commit drops support for using ‘.’ as (injection) scope selector to match everywhere. Instead use ‘*’.
2013-05-02 15:07:10 +07:00
Joachim Mårtensson
eaf2d97141 Using ‘$’ in scope selector will anchor to end of content scope
The content scope is the portion of the scope created while parsing the document content, unlike scope attributes, document, project, SCM, and dynamic scopes (appended to the content scope).
2013-03-25 10:22:27 +01:00
Allan Odgaard
a9ba549cda Use strchr instead of std::find 2012-09-20 12:22:20 +02:00
Allan Odgaard
8849899007 Fix crash for missing grammars
Incase our index is out-of-date and we try to load and parse a grammar that does not exist on disk, we would get a grammar_t with a “null” root rule, this would later crash when trying to use the grammar.

As a simple fix we now ensure a dummy rule always exist.
2012-09-05 15:23:40 +02:00
Jacob Bandes-Storch
d4ce498f60 Use 64-bit: numeric type fixes
Unfortunately a printf precision specifier (‘%.*s’) can not come with a width specifier so we have to cast to int. The width specifier ‘t’ is used for ptrdiff_t.
The int → NSInteger change fixed a bug with popup menu positioning, but there was no associated warning or error. It's possible there are more such bugs that we haven't found yet!
2012-08-28 21:32:47 +02:00
Jacob Bandes-Storch
e3aa997b06 Use libc++: replace std::tr1 with std 2012-08-28 13:30:20 +02:00
Allan Odgaard
9894969e67 Initial commit 2012-08-09 16:25:56 +02:00