Commit Graph

997 Commits

Author SHA1 Message Date
Alex Crichton
b8e2eb7294 rollup merge of #18247 : kballard/vim_rust_run_cwd_space 2014-11-03 15:29:03 -08:00
Joseph Crail
835b92efb8 Replace deprecated missing_doc attribute. 2014-11-01 21:12:13 -04:00
bors
3fa2b56537 auto merge of #17851 : brson/rust/rustup, r=alexcrichton
Just to have it somewhere to point to. Updating it will not
automatically update the one on static.rust-lang.org.
2014-10-28 17:47:01 +00:00
Brian Anderson
9106546aa7 Long lines 2014-10-28 10:24:03 -07:00
Brian Anderson
e59355b64c Untabify rustup.sh 2014-10-27 13:55:35 -07:00
Joseph Crail
30403204d6 Fix spelling mistakes in comments. 2014-10-25 23:11:17 -04:00
Damien Radtke
0207e25d70 Updates based on kballard's feedback. 2014-10-24 18:14:45 -05:00
Kevin Ballard
c5829746f9 vim: Fix :RustRun when cwd has a space in it 2014-10-22 22:22:44 -07:00
Michael Woerister
423dca7fc6 debuginfo: Print more output in lldb_batchmode.py for better error logs. 2014-10-22 11:08:21 +02:00
bors
181538a135 auto merge of #18023 : chris-morgan/rust/vim-misc-2014-10-14, r=kballard
- Stop highlighting foo in `use foo;` specially.
- Highlight `extern crate "foo" as bar;` properly.
- Highlight 1..2 according to the current grammar.
2014-10-14 17:22:25 +00:00
Chris Morgan
a118bd77ad Highlight 1..2 according to the current grammar. 2014-10-14 11:49:48 +11:00
Chris Morgan
81da141b7d Highlight extern crate "foo" as bar; properly. 2014-10-14 11:49:12 +11:00
Chris Morgan
add8a85905 Vim: Stop highlighting foo in use foo; specially
This wasn’t really consistent with other things; the last section of the
import was not highlighted in any other case.

Also `use {foo, bar};` was having the foo and bar not highlighted, where
they would have been as separate statements.
2014-10-14 11:44:34 +11:00
Simon Sapin
61a8a28f9f Include the Unicode version used to generate src/libunicode/tables.rs. 2014-10-13 14:07:12 +01:00
bors
f9fc49c06e auto merge of #17853 : alexcrichton/rust/issue-17718, r=pcwalton
This change is an implementation of [RFC 69][rfc] which adds a third kind of
global to the language, `const`. This global is most similar to what the old
`static` was, and if you're unsure about what to use then you should use a
`const`.

The semantics of these three kinds of globals are:

* A `const` does not represent a memory location, but only a value. Constants
  are translated as rvalues, which means that their values are directly inlined
  at usage location (similar to a #define in C/C++). Constant values are, well,
  constant, and can not be modified. Any "modification" is actually a
  modification to a local value on the stack rather than the actual constant
  itself.

  Almost all values are allowed inside constants, whether they have interior
  mutability or not. There are a few minor restrictions listed in the RFC, but
  they should in general not come up too often.

* A `static` now always represents a memory location (unconditionally). Any
  references to the same `static` are actually a reference to the same memory
  location. Only values whose types ascribe to `Sync` are allowed in a `static`.
  This restriction is in place because many threads may access a `static`
  concurrently. Lifting this restriction (and allowing unsafe access) is a
  future extension not implemented at this time.

* A `static mut` continues to always represent a memory location. All references
  to a `static mut` continue to be `unsafe`.

This is a large breaking change, and many programs will need to be updated
accordingly. A summary of the breaking changes is:

* Statics may no longer be used in patterns. Statics now always represent a
  memory location, which can sometimes be modified. To fix code, repurpose the
  matched-on-`static` to a `const`.

      static FOO: uint = 4;
      match n {
          FOO => { /* ... */ }
          _ => { /* ... */ }
      }

  change this code to:

      const FOO: uint = 4;
      match n {
          FOO => { /* ... */ }
          _ => { /* ... */ }
      }

* Statics may no longer refer to other statics by value. Due to statics being
  able to change at runtime, allowing them to reference one another could
  possibly lead to confusing semantics. If you are in this situation, use a
  constant initializer instead. Note, however, that statics may reference other
  statics by address, however.

* Statics may no longer be used in constant expressions, such as array lengths.
  This is due to the same restrictions as listed above. Use a `const` instead.

[breaking-change]
Closes #17718 

[rfc]: https://github.com/rust-lang/rfcs/pull/246
2014-10-10 00:07:08 +00:00
Brian Anderson
afc1b20d8e Bump version to 0.13.0 2014-10-09 10:41:23 -07:00
Alex Crichton
34d66de52a unicode: Make statics legal
The tables in libunicode are far too large to want to be inlined into any other
program, so these tables are all going to remain `static`. For them to be legal,
they cannot reference one another by value, but instead use references now.

This commit also modifies the src/etc/unicode.py script to generate the right
tables.
2014-10-09 09:44:51 -07:00
bors
d569dfe37e auto merge of #17871 : michaelwoerister/rust/lldb-versioning, r=alexcrichton
Apart from making the build system determine the LLDB version, this PR also fixes an issue with enums in LLDB pretty printers. In order for GDB's pretty printers to know for sure if a field of some value is an enum discriminant, I had rustc mark discriminant fields with the `artificial` DWARF tag. This worked out nicely for GDB but it turns out that one can't access artificial fields from LLDB. So I changed the debuginfo representation so that enum discriminants are marked by the special field name `RUST$ENUM$DISR` instead, which works in both cases.

The PR does not activate the LLDB test suite yet.
2014-10-09 03:07:27 +00:00
Michael Woerister
98a0f9166c debuginfo: Don't mark struct fields as artificial.
LLDB doesn't allow for reading 'artifical' fields (fields that are generated by the compiler). So do not mark, slice fields, enum discriminants, and GcBox value fields as artificial.
2014-10-08 11:52:06 +02:00
John Gallagher
4d190b1235 Add abstract, final, and override to rust.vim keyword list 2014-10-07 22:18:36 -04:00
Damien Radtke
83f6a29f12 Use rustc's errorformat and add option to specify permanent parameters. 2014-10-07 13:57:10 -05:00
Brian Anderson
03ad7e7119 Add rustup.sh to the repo
Just to have it somewhere to point to. Updating it will not
automatically update the one on static.rust-lang.org.
2014-10-07 10:56:47 -07:00
Daniel Micay
497b6354e4 rm obsolete valgrind suppressions 2014-10-02 05:01:10 -04:00
bors
ff2616e847 auto merge of #17630 : sfackler/rust/cfg-warnings, r=brson
Closes #17490
2014-10-01 09:22:15 +00:00
bors
88d1a22f76 auto merge of #17479 : gamazeps/rust/issue17478, r=alexcrichton
closes #17478
2014-09-30 20:27:16 +00:00
Steven Fackler
c4e0755245 Fix librustc_llvm 2014-09-30 12:52:47 -07:00
bors
38015eeb70 auto merge of #17640 : brson/rust/wininst, r=alexcrichton
This makes the windows `make dist` target start producing binary tarballs, and tweaks install.sh so they work, in preparation for working on a combined Rust+Cargo installer.
2014-09-30 12:27:27 +00:00
Brian Anderson
887da8d33a install: Fix the install.sh script to work with spaces
Makes it work on windows
2014-09-29 15:29:57 -07:00
gamazeps
e543878f0f Replaced some TODO by FIXME
closes #17478
2014-09-29 18:14:28 +02:00
Alex Crichton
757fa6ffba rollup merge of #17573 : iliekturtles/17570-windows-installer-path 2014-09-29 08:12:48 -07:00
Mike Boutin
35f5a674d4 dist: Make Windows installer modify system %PATH%
Modify the system %PATH% environment variable instead of the current
user's %PATH% environment. The current user will be an admin user
that may not be the same user who originally started the installer.
Closes #17570.
2014-09-26 18:04:48 -04:00
Guillaume Pinot
01e4354ec4 Relicense shootout-fasta-redux.rs to the shootout license.
Everyone agreed.

Fix #17078
2014-09-25 00:31:47 +02:00
Damien Radtke
1e2e2ac555 Some improvements to the Cargo compiler file. 2014-09-24 10:25:36 -05:00
Damien Radtke
59e750f198 Add cargo.vim compiler file. 2014-09-22 17:24:26 -05:00
bors
eeda1b87ff auto merge of #17212 : mahkoh/rust/vim, r=kballard
There are currently two huge problems with the indent file:

1. Long list-like things cannot be indented. See #14446 for one example. Another one is long enums with over 100 lines, including comments. The indentation process stops after 100 lines and the rest is in column 0.
2. In certain files, opening a new line at mod level is extremely slow. See [this](https://github.com/mahkoh/posix.rs/blob/master/src/unistd/mod.rs) for an example. Opening a line at the very end and holing \<cr> down will freeze vim temporarily.

The reason for 1. is that cindent doesn't properly indent things that end with a `,` and the indent file tries to work around this by using the indentation of the previous line. It does this by recursively calling a function on the previous lines until it reaches the start of the block. Naturally O(n^2) function calls don't scale very well. Instead of recalculating the indentation of the previous line, we will now simply use the given indentation of the previous line and let the user deal with the rest. This is sufficient unless the user manually mis-indents a line.

The reason for 2. seems to be function calls of the form
```
searchpair('{\|(', '', '}\|)', 'nbW', 's:is_string_comment(line("."), col("."))')
```
I've no idea what this even does or why it is there since I cannot reproduce the mistake cindent is supposed to make without this fix. Therefore I've simply removed that part.
2014-09-22 07:15:30 +00:00
bors
8d3728fae0 auto merge of #17412 : vadimcn/rust/gccpref, r=alexcrichton
Fixes #17251
2014-09-21 16:30:28 +00:00
Vadim Chugunov
04c41eb372 Move bundled gcc and its libs out into $rust/rustlib/<triple>/gcc/(bin|lib). This way the libs won't be on the -L library search path, and won't confuse external gcc, if one is used. The bundled gcc itself will still be able to find them, because it searches for libs relative to own install location. 2014-09-20 11:42:26 -07:00
Alex Crichton
129aff7d97 rollup merge of #17306 : scialex/fix-zsh 2014-09-19 10:00:19 -07:00
Julian Orth
39116d0191 fix for vim < 7.4.355 2014-09-18 22:16:47 +02:00
bors
28407b6ff0 auto merge of #17335 : TeXitoi/rust/relicense-shootout, r=brson
Everyone agreed.  Fix #17064, fix #17072 

@brson OK?
2014-09-18 03:20:39 +00:00
Alex Crichton
df34b082ab rollup merge of #17309 : aturon/deprecate-libnum 2014-09-17 08:49:37 -07:00
Guillaume Pinot
edec96b78b Relicense shootout-fasta.rs ti the shootout license.
Everyone agreed.

Fix #17072
2014-09-17 08:44:44 +02:00
Guillaume Pinot
a182f13a2e Relicense shootout-spectralnorm.rs to the shootout license
Everyone agreed.

Fix #17064
2014-09-17 08:33:57 +02:00
Aaron Turon
2ff07af996 Deprecate libnum in favor of rust-lang/num
This is part of the migration of crates into the Cargo ecosystem. There
is now an external repository https://github.com/rust-lang/num for bignums.

The single use of libnum elsewhere in the repository is for a shootout
benchmark, which is being moved into the external crate.

Due to deprecation, this is a:

[breaking-change]
2014-09-16 11:29:29 -07:00
Alexander Light
01472435ac Improve the zsh completions.
Currently the ZSH completions are quite old an nearly useless. This
brings them up to be compatible with current rust and makes them far
more useful.

Closes #17305
2014-09-16 12:23:38 -04:00
Brian Anderson
a3c27ea3c6 mk: Update how the build deals with version labels. #16677
Adds a new configure flag, --release-channel, which determines how the version
number should be augmented with a release label, as well as how the distribution
artifacts will be named. This is entirely for use by the build automation.

--release-channel can be either 'source', 'nightly', 'beta', or 'stable'.

Here's a summary of the affect of these values on version number and
artifact naming, respectively:

* source - '0.12.0-pre', 'rust-0.12.0-pre-...'
* nightly - '0.12.0-nightly', 'rust-nightly-...'
* beta - '0.12.0-beta', 'rust-beta-...'
* stable - '0.12.0', 'rust-0.12.0-...'

Per http://discuss.rust-lang.org/t/rfc-impending-changes-to-the-release-process/508/1
2014-09-15 16:25:20 -07:00
Julian Orth
9c72da5251 update vim indent file 2014-09-13 00:24:40 +02:00
bors
e9278c9219 auto merge of #17159 : brson/rust/snaps, r=alexcrichton
This switches win64 hosts to bootstrap from win64 snaps.
2014-09-12 11:20:42 +00:00
Vadim Chugunov
7085b3edd9 Package rustc's mingw dependencies into Windows installer.
gcc, ld, ar, dlltool, windres go into $(RUST)/bin/rustlib/<triple>/bin/
platform libraries and startup objects got into $(RUST)/bin/rustlib/<triple>/lib/
2014-09-11 09:40:21 -07:00
Vadim Chugunov
0ac9e9b561 Update license notice. 2014-09-11 09:40:20 -07:00
Brian Anderson
38e7e4bd9c Register snapshots 2014-09-10 18:33:54 -07:00
bors
9f6d27c39f auto merge of #17135 : brson/rust/wininst, r=alexcrichton
This builds on https://github.com/rust-lang/rust/pull/17109, putting the target triple into the installer name so that we can have both 32-bit and 64-bit.

The resulting installers will be called `rust-0.12.0-pre-x86_64-w64-mingw32.exe`, etc.
2014-09-10 19:25:36 +00:00
bors
4049a4da79 auto merge of #17109 : brson/rust/win64snap, r=alexcrichton 2014-09-10 11:45:44 +00:00
Brian Anderson
5206e79b92 Fix naming of windows installer 2014-09-09 13:33:29 -07:00
Brian Anderson
3ebf25ee80 Fix snapshot.py for win64 2014-09-09 13:29:55 -07:00
Alex Crichton
6b487ebbc0 rollup merge of #17096 : TeXitoi/relicense-shootout-chameneos-redux 2014-09-09 12:07:13 -07:00
Alex Crichton
83e4653404 rollup merge of #17077 : TeXitoi/relicense-shootout-nbody 2014-09-09 12:07:12 -07:00
Guillaume Pinot
13013d8f91 Relicense shootout-chameneos-redux.rs to the shootout license.
Everyone agreed. fix #17076
2014-09-08 08:47:26 +02:00
Guillaume Pinot
4894c21759 Relicense shootout-nbody.rs to the shootout license
Everyone agreed. fix #17073
2014-09-07 19:16:55 +02:00
Guillaume Pinot
0b2e6f8087 Relicense shootout-reverse-complement.rs to the shootout license.
Everyone agreed.  Fix #17065
2014-09-07 18:09:01 +02:00
bors
c8e86e977f auto merge of #16322 : michaelwoerister/rust/gdb-pretty, r=alexcrichton
Also extends the autotest framework to let a test case choose if pretty printing should be enabled.
2014-08-30 04:01:24 +00:00
P1start
de7abd8824 Unify non-snake-case lints and non-uppercase statics lints
This unifies the `non_snake_case_functions` and `uppercase_variables` lints
into one lint, `non_snake_case`. It also now checks for non-snake-case modules.
This also extends the non-camel-case types lint to check type parameters, and
merges the `non_uppercase_pattern_statics` lint into the
`non_uppercase_statics` lint.

Because the `uppercase_variables` lint is now part of the `non_snake_case`
lint, all non-snake-case variables that start with lowercase characters (such
as `fooBar`) will now trigger the `non_snake_case` lint.

New code should be updated to use the new `non_snake_case` lint instead of the
previous `non_snake_case_functions` and `uppercase_variables` lints. All use of
the `non_uppercase_pattern_statics` should be replaced with the
`non_uppercase_statics` lint. Any code that previously contained non-snake-case
module or variable names should be updated to use snake case names or disable
the `non_snake_case` lint. Any code with non-camel-case type parameters should
be changed to use camel case or disable the `non_camel_case_types` lint.

[breaking-change]
2014-08-30 09:10:05 +12:00
Michael Woerister
849ae5d881 debuginfo: Emit different autotest debugger scripts depending on GDB version. 2014-08-27 15:19:14 +02:00
Michael Woerister
6974b4f1b5 debuginfo: Add GDB pretty printers for structs and enums. 2014-08-27 15:19:14 +02:00
bors
36131f5be4 auto merge of #16691 : klutzy/rust/issue-15297, r=alexcrichton
First commit fixes issue regarding recognizing MSYS2 build.
Second commit fixes issue regarding MSYS/Windows paths.
2014-08-23 22:35:56 +00:00
Vadim Chugunov
8c994a1237 Remove stage0 attributes. 2014-08-23 02:11:07 -07:00
klutzy
7eb35bc2a9 test: Convert Window path to MSYS path
When MSYS shell executes program, if its arguments look like MSYS paths,
MSYS automatically converts them into Windows paths.
For example, `/c/path:/d/path` becomes `C:\path;D:\path`.
However, if there is only one path e.g. `/c/path`, it becomes `C:/path`.

maketest.py reverts the behavior to reduce confusion between MSYS and
Windows, but it didn't handle the `/c/path` case. This patch fixes the
issue.

Fixes #15297
Fixes #15250
2014-08-23 16:19:07 +09:00
bors
dc65307e3b auto merge of #16547 : huonw/rust/new-kw, r=pcwalton 2014-08-17 14:56:08 +00:00
bors
6dca1426bc auto merge of #16535 : michaelsproul/rust/vim-traits, r=pcwalton
The vim syntax highlighting file had become out of sync with the real prelude.

Lots of Vector -> Slice renames have happened recently.
2014-08-17 06:26:09 +00:00
Huon Wilson
d1c5db326f Add new keywords (particularly where & virtual) to editor modes. 2014-08-17 11:57:22 +10:00
Michael Sproul
1a5816a9aa vim: Update syntax file for Prelude changes.
Lots of Vector -> Slice renames.
2014-08-16 21:07:27 +10:00
Kevin Ballard
ab65869c9d vim: Don't set foldmethod in the syntax file either
We shouldn't be setting any settings in the syntax file. Better to put
them in the ftplugin, where they won't be pulled in by :syn-include and
can be cleaned up when changing the filetype.
2014-08-15 16:41:07 -07:00
bors
bf0a925dcd auto merge of #16486 : kballard/rust/vim_conceal, r=chris
We shouldn't be setting conceallevel in the syntax file. Besides not
being able to undo this if we switch to another syntax later, it also
interferes with embedding rust in other filetypes (such as markdown).

Instead, set it in the ftplugin, where it belongs.
2014-08-15 02:36:14 +00:00
bors
6b5ec40d45 auto merge of #16435 : vadimcn/rust/windows, r=pcwalton
Using "win32" to mean "Windows" is confusing, especially now, that Rust supports win64 builds.
Let's call spade a spade.
2014-08-15 00:46:19 +00:00
Kevin Ballard
05e45b9e36 vim: Stop setting conceallevel in the syntax file
We shouldn't be setting conceallevel in the syntax file. Besides not
being able to undo this if we switch to another syntax later, it also
interferes with embedding rust in other filetypes (such as markdown).

Instead, set it in the ftplugin, where it belongs.
2014-08-13 16:52:26 -07:00
Brian Anderson
a4b354ca02 core: Add binary_search and binary_search_elem methods to slices.
These are like the existing bsearch methods but if the search fails,
it returns the next insertion point.

The new `binary_search` returns a `BinarySearchResult` that is either
`Found` or `NotFound`. For convenience, the `found` and `not_found`
methods convert to `Option`, ala `Result`.

Deprecate bsearch and bsearch_elem.
2014-08-13 11:30:15 -07:00
Vadim Chugunov
3dfd12967a Replace #[cfg(target_os = "win32")] with #[cfg(target_os = "windows")] 2014-08-12 00:13:43 -07:00
Brian Anderson
4e0a992845 Download snapshots using HTTPS
cc #16123
2014-08-11 12:31:24 -07:00
bors
aae7901a78 auto merge of #16285 : alexcrichton/rust/rename-share, r=huonw
This leaves the `Share` trait at `std::kinds` via a `#[deprecated]` `pub use`
statement, but the `NoShare` struct is no longer part of `std::kinds::marker`
due to #12660 (the build cannot bootstrap otherwise).

All code referencing the `Share` trait should now reference the `Sync` trait,
and all code referencing the `NoShare` type should now reference the `NoSync`
type. The functionality and meaning of this trait have not changed, only the
naming.

Closes #16281
[breaking-change]
2014-08-08 03:51:15 +00:00
Alex Crichton
1f760d5d1a Rename Share to Sync
This leaves the `Share` trait at `std::kinds` via a `#[deprecated]` `pub use`
statement, but the `NoShare` struct is no longer part of `std::kinds::marker`
due to #12660 (the build cannot bootstrap otherwise).

All code referencing the `Share` trait should now reference the `Sync` trait,
and all code referencing the `NoShare` type should now reference the `NoSync`
type. The functionality and meaning of this trait have not changed, only the
naming.

Closes #16281
[breaking-change]
2014-08-07 08:54:38 -07:00
Alex Crichton
d29123b35d Merge commit 'd92eaf0273af8c09112f951b2f483505b2f3e8c9' into rollup 2014-08-06 11:25:45 -07:00
Alex Crichton
720746a139 Merge commit '881bfb1a180a1b545daa9da1539ec4c8ebda7ed1' into rollup 2014-08-06 11:25:14 -07:00
bors
e5df5f5606 auto merge of #15865 : jamesrhurst/rust/ctags-regex, r=alexcrichton
Previously the implementation detection regex would detect
`impl fmt::Show for MyStruct` as `fmt`. Now it will be detected as
`fmt::Show for MyStruct`. Implementations such as `impl MyStruct` will
still be detected as `MyStruct`.
2014-08-06 15:51:19 +00:00
Simon Sapin
d92eaf0273 Gtksourceview language spec: add the \0 escape sequence. 2014-08-06 10:18:22 +01:00
bors
fde58d95af auto merge of #16231 : michaelsproul/rust/gedit-macro, r=alexcrichton
Gedit currently lacks syntax highlighting for macros.
2014-08-05 09:51:23 +00:00
Vadim Chugunov
ad2f67f1c3 Use mingw64 target spelling. 2014-08-04 17:43:48 -07:00
bors
efe1f7ee9e auto merge of #15986 : Florob/rust/nfKc-new, r=alexcrichton
This adds a new `Recompositions` iterator, which performs canonical composition on the result of the `Decompositions` iterator (which is canonical or compatibility decomposition). In effect this implements Unicode normalization forms C and KC.
2014-08-04 17:06:19 +00:00
Michael Sproul
806e4f0b14 Gedit/GTKSourceView: Add macro syntax highlighting. 2014-08-04 11:28:37 +10:00
bors
9826e801be auto merge of #16073 : mneumann/rust/dragonfly2, r=alexcrichton
Not included are two required patches:

* LLVM: segmented stack support for DragonFly [1]

* jemalloc: simple configure patches

[1]: http://reviews.llvm.org/D4705
2014-07-31 14:41:34 +00:00
Simon Sapin
3c453b36ce Gedit/gtksourceview language spec: add raw strings
… and color (raw) strings as such in attributes.
This fixes cases where a string contains ] inside an attribute:
that ] used to incorrectly end the attribute coloring.

For large (many lines) doc comments, I’ve found preferable to use
`#![doc = r#"..."#]` to avoid prefixing every line with `//!`.
2014-07-29 15:44:35 -07:00
Michael Neumann
2e2f53fad2 Port Rust to DragonFlyBSD
Not included are two required patches:

* LLVM: segmented stack support for DragonFly [1]

* jemalloc: simple configure patches

[1]: http://reviews.llvm.org/D4705
2014-07-29 16:44:39 +02:00
Florian Zeitz
7ece0abe64 collections, unicode: Add support for NFC and NFKC 2014-07-28 18:47:38 +02:00
Guillaume Pinot
92792248c1 Relicense shootout-k-nucleotide.rs
Everyone agreed except @thestinger. As @thestinger contribution on this file is trivial,
we can relicense it.

Related to #14248, close #15330
2014-07-26 15:06:40 +02:00
bors
c05bb4ec7d auto merge of #15424 : TeXitoi/rust/relicense-shootout-threadring, r=brson
Everyone agreed.

Related to #14248, close #15328

@brson OK?
2014-07-24 18:11:03 +00:00
James Hurst
8a7b0fa939 Improved the tags impl regex 2014-07-24 09:08:52 -04:00
Brian Anderson
2d79bfa415 vim: Add MutableSeq 2014-07-23 13:20:16 -07:00
Chris Morgan
0a0c6da564 Fix :syn-include usage of Vim filetype.
Here’s what the Vim manual says in *:syn-include*:

    :sy[ntax] include [@{grouplist-name}] {file-name}

	All syntax items declared in the included file will have the
	"contained" flag added.  In addition, if a group list is
	specified, all top-level syntax items in the included file will
	be added to that list.

We had two rules for `rustModPath`, one `contained` and the other not.
The effect was that the second (now renamed to `rustModPathInUse`) was
being included in the group list, and thus that all identifiers were
being highlighted as `Include`, which is definitely not what we wanted.
2014-07-21 13:14:34 +10:00
Chris Morgan
ca6ffac4e4 Highlight $(…)* and $foo in Vim. 2014-07-21 13:13:51 +10:00
bors
175f113cba auto merge of #15573 : michaelwoerister/rust/lldb-tests-rebased-09-Jul, r=alexcrichton
This PR adds the LLDB autotests to the debuginfo test suite so I don't have to keep rebasing them locally. They are still disabled by default in `tests.mk`. One of the commits also contains a Python pretty printer which can make LLDB print values with Rust syntax. This was mainly added to deal with output format differences between LLDB versions but you can also use it for your normal LLDB debugging sessions.
```
// The following LLDB commands will load and activate the Rust printers
command script import ./src/etc/lldb_rust_formatters.py
type summary add --no-value --python-function lldb_rust_formatters.print_val -x .* --category Rust
type category enable Rust
```
Expect some rough edges with these, they have not been tested apart from there use in the autotests...
2014-07-16 17:16:20 +00:00
bors
316719e625 auto merge of #15476 : kballard/rust/more_vim_tweaks, r=chris
Tweak the text editing settings (softtabstop, textwidth, etc).

Add some settings to turn on folding and colorcolumn.

Add the undo_ftplugin changes that my previous patch forgot.
2014-07-16 15:36:21 +00:00