Commit Graph

1572 Commits

Author SHA1 Message Date
Allan Odgaard
f67c91dcb9 Introduce C string API
This may seem like a step back, but is the easiest way to deal with “static strings” (that should not be copied).
2013-08-31 21:24:39 +02:00
Allan Odgaard
caf347e66d Remove unused to_s functions 2013-08-31 21:24:39 +02:00
Allan Odgaard
f0a932e9e4 Remove unused comparison operators 2013-08-31 21:24:38 +02:00
Allan Odgaard
96e0a6e0ff Improve encapsulation 2013-08-31 21:24:38 +02:00
Allan Odgaard
9bf9c51494 Use linked list for scope_t data 2013-08-31 21:24:38 +02:00
Allan Odgaard
0a8a238159 Add more scope selector tests 2013-08-31 20:49:47 +02:00
Allan Odgaard
d241a971f2 Update scope selector matching code
This is in anticipation of changing scope_t data layout.
2013-08-31 20:48:25 +02:00
Allan Odgaard
c01e181b49 Use name convention to identify non-content scopes 2013-08-31 16:09:49 +02:00
Allan Odgaard
cc56c61c78 Remove scope::types::atom_t
This is first step toward decreasing memory usage by scope_t.
2013-08-31 16:09:49 +02:00
Allan Odgaard
0f5bbdfad0 Remove unused scope parsing API 2013-08-31 16:09:49 +02:00
Allan Odgaard
c0e8186bc1 When constructing scope, split string on space instead of parsing 2013-08-31 16:09:48 +02:00
Allan Odgaard
05b0b480f1 Handle assigning empty scope to non-empty scope 2013-08-31 16:09:48 +02:00
Allan Odgaard
b52b13329e Call scope_t::empty instead of using an operator bool cast 2013-08-30 12:30:34 +02:00
Allan Odgaard
240dc4baec Simplify scope::shared_prefix and scope_t::has_prefix
This is mainly for upcoming implementation changes.
2013-08-30 12:30:34 +02:00
Allan Odgaard
b624d7cc98 Treat empty string as empty scope
Previously would be a scope with one empty “atom”.
2013-08-30 12:30:34 +02:00
Allan Odgaard
62e3db265c Add scope_t::empty and scope_t::size 2013-08-30 12:30:33 +02:00
Allan Odgaard
79dc48acc3 Add range check to scope atom parser 2013-08-30 12:30:33 +02:00
Allan Odgaard
69316d4da1 Don’t call scope_t::push_scope with empty scope attributes
Previously would be called with an empty string.
2013-08-30 12:30:33 +02:00
Allan Odgaard
c1f14616a5 Use ‘char const*’ with scope_t::push_scope
This is to allow distinguishing between static and dynamic strings.
2013-08-30 12:30:33 +02:00
Allan Odgaard
f56e6ae36a Fix potential out of range access 2013-08-30 12:30:33 +02:00
Allan Odgaard
b53fb59528 Fix crash when giving nil string to FFDocumentSearch 2013-08-30 12:30:33 +02:00
Allan Odgaard
ed7d457e65 Use text::tokenize instead of text::split
This avoids duplicating the memory used.
2013-08-30 12:30:32 +02:00
Allan Odgaard
b7bc35ed9d Let decode::url_part convert plus to space 2013-08-29 13:26:16 +02:00
Allan Odgaard
282e018ec8 Use format string parser for symbol transformations
This avoids an extra layer of escapes.
2013-08-28 15:27:42 +02:00
Allan Odgaard
27c054484e Allow “stop chars” when parsing a format string
This is useful when we have a format that embed format strings and we wish to use the format string parsers (to avoid an extra layer of escapes).
2013-08-28 15:27:42 +02:00
Allan Odgaard
fc7f86d8eb Do not clear cache during normal lookup
We keep indirect references to cache lookups (for the duration of the function that use the cache) so we can only do cleanup at the start or end of the function which use the cache.
2013-08-28 15:27:42 +02:00
Shelby Munsch
283ecd069e Fixed typo 2013-08-27 22:49:47 -07:00
Allan Odgaard
1442e3061f Remove old scope_t API 2013-08-28 00:23:08 +02:00
Allan Odgaard
7247695f9b Update buffer_t::scopes to new scope_t API 2013-08-28 00:23:08 +02:00
Allan Odgaard
d42417ee1a Use public API for scope_t utility functions 2013-08-28 00:23:08 +02:00
Allan Odgaard
1cc0065623 Return false from ‘scope_t::operator bool’ when there is no scope 2013-08-28 00:23:08 +02:00
Allan Odgaard
33ed6b6637 Watch leaks for grammar_t 2013-08-28 00:23:08 +02:00
Allan Odgaard
d93b20d571 Use new scope_t API 2013-08-28 00:23:08 +02:00
Allan Odgaard
5da71f9556 Add new API for mutating scope_t 2013-08-28 00:23:07 +02:00
Allan Odgaard
cfa913d0f5 Fix retain cycle 2013-08-28 00:23:07 +02:00
Allan Odgaard
057096af5b Rename API to make searching easier
Using generic names like ‘append’ is not good when analyzing code for potential refactoring.
2013-08-27 15:30:09 +02:00
Allan Odgaard
275273d39b Add missing “is content scope” argument 2013-08-27 15:30:09 +02:00
Allan Odgaard
80e26b1faa Don’t dereference end-of-range iterator 2013-08-27 15:30:09 +02:00
Allan Odgaard
7ccd7add60 Use digittoint() instead of std::stoi()
Both because of performance and because the latter can throw an exception (although we check the input, so it should not happen with our use of the API).
2013-08-27 15:30:09 +02:00
Allan Odgaard
e1230653f8 Support hex characters in format strings 2013-08-27 15:30:09 +02:00
Allan Odgaard
df7cbc8da0 Add debug code 2013-08-26 15:54:05 +02:00
Allan Odgaard
8f1485d158 String given to scope_t::append now returned from scope_t::back
Previously we would parse the string appended to an existing scope, meaning invalid scopes would not be returned as the same string.

Fixes #1099
2013-08-26 15:54:05 +02:00
Allan Odgaard
bcece9a8e5 Don’t make selection visible when nothing is found 2013-08-26 12:02:29 +02:00
Allan Odgaard
211770893e When in Favorites folder, change Add → Remove From Favorites
In practice it is possible to be in a parent of the Favorites folder and expand items so that the symbolic links in favorites can be selected, this commit does not handle that case, as we would then also need to handle the case where items both inside and outside the Favorites folder were selected (at the same time).

Users who do these things are probably aware of how symbolic links work, and can use “Move to Trash”.

Closes #1089
2013-08-26 11:48:41 +02:00
Allan Odgaard
62db7aff11 Add comparison operators to what’s understood by ⌃T 2013-08-26 11:26:56 +02:00
Allan Odgaard
64663dd17f Allow creating non-capturing regexps 2013-08-25 21:13:06 +02:00
Allan Odgaard
a4a5799835 Don’t leave buffer in partial state if failing to parse grammar 2013-08-25 21:13:06 +02:00
Allan Odgaard
de03c27a63 Update network::tbz_t API
The main issue with the old API was inability to capture error output from the tar process.
2013-08-25 21:13:06 +02:00
Allan Odgaard
d2305654ac Make redirect of stderr opt-in 2013-08-25 21:13:06 +02:00
Allan Odgaard
7e6d0b8d1b fixup! Log errors from each call in swap_and_unlink 2013-08-25 21:13:06 +02:00