Rosen Penev
7d1cc992e5
[clang-tidy] Simplify boolean expressions
...
Found with readability-simplify-boolean-expr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:51 -08:00
Rosen Penev
4087b2ee15
[clang-tidy] Use bool literals
...
Found with modernize-use-bool-literals
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-29 23:46:50 -08:00
Rosen Penev
586ac3dfa7
[clang-tidy] Convert loops to range based
...
Found with modernize-loop-convert
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:50:40 -08:00
Rosen Penev
1055ff321c
[clang-tidy] Replace NULL with nullptr
...
Found with modernize-use-nullptr
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:23:03 -08:00
Rosen Penev
0dfa7421f3
[clang-tidy] Convert C casts to C++ ones
...
Found with google-readability-casting
Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-11-25 14:17:49 -08:00
Jason
3cf6ebc0e1
Amend typos and grammar errors
2019-11-25 13:07:15 +01:00
Fabian Homborg
fc0c39b6fd
expand: Remove unused includes
...
sys/sysctl.h is deprecated on glibc, so it leads to warnings.
According to fa4ec55c96
, it was included for KERN_PROCARGS2 for
process expansion, but process expansion is gone, so it's unused now.
(there is another use of it in common.cpp, but that's only on FreeBSD)
Also 1f06e5f0b9
only included
tokenizer.h (present since the initial commit) if KERN_PROCARGS2
wasn't available, so it can't have been important.
This builds and passes the tests on:
- Archlinux, with glibc 2.30
- Alpine, with musl
- FreeBSD
- NetBSD
2019-10-19 14:20:53 +02:00
ridiculousfish
82eca4bc86
Run clang-format on all files
...
The main change here is to reorder headers.
2019-10-13 15:50:48 -07:00
Johannes Altmanninger
7017a2fcf9
Unexpand abbreviations' variable names before completing them
...
Fixes #6166
2019-10-06 14:42:42 +02:00
ridiculousfish
fc99d6c7af
clang-format all files
2019-06-03 20:30:48 -07:00
Fabian Homborg
d73ee4d54b
More using FLOGF when formatting is needed
...
sed-patched, every time a "%" is used in a call to `FLOG`, we use
`FLOGF` instead.
2019-05-30 11:54:09 +02:00
Fabian Homborg
4a6a354675
Placate compiler warnings
2019-05-29 20:50:35 +02:00
David Adam
7fe93c7518
src/expand: update comment for fallthrough to GCC standard
...
As suggested in 75db3b4ff4 (r33153119)
2019-05-28 23:20:20 +08:00
ridiculousfish
835c6ffa67
clang-format all files
2019-05-27 19:47:13 -07:00
ridiculousfish
ea9d1ad82f
Convert debug(0) calls to FLOG
2019-05-27 17:31:17 -07:00
ridiculousfish
43e3d3bcf2
Fix the argparse tests
2019-05-24 16:51:40 -07:00
Fabian Homborg
f2bb1c8c1f
expand: Simplify expand_escape_variable
2019-05-24 17:03:43 +02:00
Fabian Homborg
9a541d9ed4
expand: Use wcstring for the abbr prefix
...
This mainly is conceptually a bit simpler. The comment about making it
cheaper is entirely misplaced since this is quite far away from being
important.
Even expanding 1000 abbrs, it doesn't show up in the profile.
2019-05-22 22:31:45 +02:00
Fabian Homborg
3efa2ad93b
Replace wcslen with math
2019-05-19 18:23:33 +02:00
Fabian Homborg
1e9d41f2c1
Remove now-useless code for detecting {}
...
This can't happen anymore.
2019-05-19 18:23:33 +02:00
ridiculousfish
1719d6f136
Make $status and $pipestatus per-parser
...
Another step towards allowing multiple parsers to execute in parallel.
2019-05-12 14:00:44 -07:00
Fabian Homborg
c2970f9618
Reformat all files
...
This runs build_tools/style.fish, which runs clang-format on C++, fish_indent on fish and (new) black on python.
If anything is wrong with the formatting, we should fix the tools, but automated formatting is worth it.
2019-05-05 12:09:25 +02:00
ridiculousfish
bffacd2fbf
Thread a parser into expansion
...
Expansion may perform command substitution, which needs to know the parser
to use.
2019-05-04 19:30:00 -07:00
ridiculousfish
496529b20a
Remove EXPAND prefix from expand_flags and lowercase them
2019-04-25 11:34:49 -07:00
ridiculousfish
d8ab6290e8
Switch expand_flags_t to enum_set
2019-04-25 11:23:03 -07:00
ridiculousfish
dcaac58f45
Rename expand_error_t to expand_result_t and make it class enum
...
Also lowercase it all.
2019-04-25 10:47:28 -07:00
ridiculousfish
b54c44f2f6
Migrate expansion stages to a new type expander_t
...
This avoids having to pass around so many parameters during expansion.
2019-04-25 10:47:28 -07:00
ridiculousfish
a173c079d5
expand_abbreviation to always accept an environment_t
...
Now that snapshotting is fixed, we don't need to get the principal
environment stack any more.
2019-04-16 22:45:58 -07:00
ridiculousfish
2e119813e1
get_abbreviations to accept an environment_t
...
Now that we don't have dorky snapshotting, thread an dnvironment_t through
get_abbreviations. Removes a usage of env_stack_t::principal().
2019-04-16 22:27:01 -07:00
Aaron Gyes
7e514d2aa5
expand_abbreviation(): escape when looking up abbreviation vars
...
This was doing exactly the opposite: unescaping and not hitting
the encoded _fish_abbr_X variables when looking up.
Fixes #5573
2019-04-16 21:33:09 -07:00
Aaron Gyes
75db3b4ff4
fix incorrectly aligned carat in command expansion errors and more
...
- fix the carat position expanding e.g. `command $,`
- improve the error reporting for not-allowed command subtitutions
by figuring out where the expansion failed instead of using
SOURCE_LOCATION_UNKNOWN
- allow nullptr for parse_util_licate_brackets_range() out_string
argument if we don't need it to do any work.
Fixes #5812
2019-04-11 14:44:46 -07:00
Aaron Gyes
be80a56ad4
expand.cpp: use wcspbrk for is_quotable
2019-04-04 17:32:39 -07:00
ridiculousfish
88d20e257b
Remove some unused variables
2019-03-15 20:21:05 -07:00
Fabian Homborg
f798a02a2a
Remove unused variable
2019-03-14 13:23:47 +01:00
Aaron Gyes
aaacdb89b6
Switches over to cstring from string.h.
2019-03-12 15:09:36 -07:00
Aaron Gyes
d5ac239f68
This commit changes wchar.h includes to cwchar, and uses std::
...
for everything it provides.
2019-03-12 15:09:36 -07:00
ridiculousfish
d3fa58d621
Cleanup common.h
...
Remove a bunch of headers, simplify lots of code, migrate it into .cpp files.
Debug build time improves by ~3 seconds on my Mac.
2019-02-03 18:22:38 -08:00
Dan Zimmerman
857561ca14
Fix warnings when compiling on macos
...
These warnings were appearing and annoying me so Im making a PR to fix
them.
2019-01-17 13:56:17 -06:00
ridiculousfish
2d3e8ec0a9
Correct highlighting of abbreviations
...
Abbreviation highlighting cannot use the snapshot environment because we do
not know up-front which variables to capture. Will revisit this later.
2019-01-11 20:43:52 -08:00
ridiculousfish
77884bc21a
Instantize env_get
...
This removes env_get(). All fish variable accesses must go through an
environment_t.
2019-01-10 20:08:06 -08:00
ridiculousfish
6f52e6bb1c
Instantize contents of exec.cpp and others
2019-01-10 20:07:47 -08:00
ridiculousfish
038f3cca6d
Remove the abbreviation cache
...
Read abbreviations directly from the environment.
2019-01-10 20:07:41 -08:00
ridiculousfish
50c83463f1
Switch some uses of env_get to instanced environment_t
2019-01-10 20:07:31 -08:00
ridiculousfish
421fbdd52a
Instantize env_get_pwd_slash
...
This requires threading environment_t through many places, such as completions
and history. We introduce null_environment_t for when the environment isn't
important.
2019-01-10 20:01:28 -08:00
Fabian Homborg
77229effb5
expand: Fix get_home_directory_name
...
This fixes the `~floam/` case, where the out_tail_idx pointer needs to
point to the "/", not the last letter.
The `~/` and `~floam` cases still work.
Unfortunately, I'm unsure of how to test this.
Fixes #5325 .
2018-11-08 10:07:45 +01:00
Fabian Homborg
410e13dd74
expand: Stringify get_home_directory_name
...
This is actually nicer than the pointilistic version.
2018-10-23 19:10:14 +02:00
ridiculousfish
5947aa0171
Join variables by their delimiter in quoted expansion
...
This switches quoted expansion like "$foo" to use foo's delimiter instead of
space. The delimiter is space for normal variables and colonf or path variables.
Expansions like "$PATH" will now expand using ':'.
2018-10-19 17:35:36 -07:00
ridiculousfish
d73c487d60
Restore %self to refer to the fish pid
...
This brings back the %self argument. Like the original %self it only expands
if the argument is literally %self.
2018-10-19 16:17:25 -07:00
ridiculousfish
202bf0bede
Tab complete abbreviations
...
This allows abbreviations to be expanded by tab completions.
Fixes #3233
2018-10-16 16:15:27 -07:00
Mahmoud Al-Qudsi
0e62dedb26
Correct misdetection of [001]
as literal zero index
...
The control flow in expand.cpp is a bit more complicated than it seemed
at first blush. Ref #4862 .
2018-10-15 14:11:37 -05:00