Commit Graph

9750 Commits

Author SHA1 Message Date
Fabian Homborg
5e98259d95 autotools: Fix lint target
This used "argparse" to parse the args, which broke since CXXFLAGS
contained options.

Instead we pass "--all" before any other arguments, and then stop
argparse at nonoptions.
2019-02-25 15:15:40 +01:00
ridiculousfish
2c3214cabd Make $pipestatus thread safe and other misc cleanup 2019-02-24 23:29:33 -08:00
zabereer
2c8abdf5cb add $pipestatus support 2019-02-24 21:46:52 -08:00
The0x539
e330dafd24 Improve completions for mkvextract
A key frustration with the prior version of mkvextract completions was
that even in a position where a filename would be expected, no
completions for a filename were offered. This update introduces more
rigorous argument handling, most importantly restricting
track/attachment completion to when both a mode and a file are
specified.
2019-02-24 21:17:10 -08:00
Collin Styles
195020ff89 screen: Add completions for -R and -RR options 2019-02-24 21:08:56 -08:00
Collin Styles
06f832aae1 Allow filename completion for screen
Screen commands can be passed an executable to run like:

$ screen -dR my_session /usr/bin/fish

This commit enables completion for that filename
2019-02-24 21:08:56 -08:00
Collin Styles
e475b1a375 Fix screen session name completion for non-Ubuntu distros
For some reason Ubuntu's version of screen includes timestamps in the
output of `screen -list`. The timestamps aren't present on other
distributions (tested on Fedora and Arch Linux), nor when building from
source. This commit fixes the regex so that with or without the
timestamp, fish will correctly show suggestions for screen sessions.
2019-02-24 21:08:56 -08:00
Janczar Kurek
efa88b171a prettify_node function now does not use recursion
prettify_node_recursive is replaced with prettify_node_nrecursive
explicite stack is used instead.

Signed-off-by: Janczar Kurek <janczar.kurek@student.uj.edu.pl>
2019-02-24 21:01:45 -08:00
Collin Styles
fa5d19a702 Fix broken link on index page 2019-02-24 20:22:56 -08:00
ridiculousfish
8ef316562f Friendship ended with Doxygen
Now Sphinx is my best friend

This switches the docs to build with Sphinx instead of Doxygen.

There's a lot remaining to do: see #5696. However it is painful to mirror
docs changes from Doxygen to Sphinx, so it is better to switch over now
even in this incomplete state.

The last Doxygen build is tagged as 'last_doxygen'

Closes #5640
2019-02-24 19:44:22 -08:00
ridiculousfish
31dc1f9a8c Correct the builtin.cpp comment about how to add a new builtin
Teach it about Sphinx
2019-02-24 19:41:51 -08:00
ridiculousfish
a8120359c7 Remove all of doc_src
See the last_doxygen tag for the last supported Doxygen build.
2019-02-24 19:40:27 -08:00
ridiculousfish
c99fa08f21 Remove all of the documentation build helper scripts 2019-02-24 19:40:05 -08:00
ridiculousfish
0b26b55676 Remove docs target from autotools build
Now it just errors and redirects the user to CMake.
2019-02-24 19:37:00 -08:00
ridiculousfish
4da38df43b Remove last vestiges of Doxygen from Docs.cmake 2019-02-24 19:02:39 -08:00
ridiculousfish
2ec33be90f CMake BUILD_DOCS option to look for sphinx instead of Doxygen 2019-02-24 18:58:25 -08:00
ridiculousfish
a1f122f603 Add license to sphinx docs build 2019-02-24 18:23:42 -08:00
ridiculousfish
2d75ab8e9b Add FAQ to sphinx docs build 2019-02-24 18:23:33 -08:00
ridiculousfish
db90f421c0 Add design doc to Sphinx docs build 2019-02-24 18:22:52 -08:00
ridiculousfish
6241bd8453 Add tutorial to sphinx docs build 2019-02-24 18:22:41 -08:00
ridiculousfish
6cd8856484 Add the vcs prompts to sphinx docs 2019-02-24 18:21:36 -08:00
ridiculousfish
9a35df059a Clean up fish_breakpoint_prompt sphinx docs 2019-02-24 18:15:48 -08:00
ridiculousfish
2b89cbc678 Incorporate sabine's index changes into sphinx docs
Adds:
f6974e5a76
20c51b7da9
2019-02-24 18:15:48 -08:00
ridiculousfish
d5e0392964 Incorporate most new doc changes since branch
Adds most documentation changes since 72c0213d42
2019-02-24 18:15:48 -08:00
ridiculousfish
3debfe7534 Break out commands into its own file 2019-02-24 18:15:48 -08:00
ridiculousfish
fb75d0f848 Parse out command descriptions from files for Sphinx man pages
sphinx expects that the description for a command (as appearing in its man
page) be provided in conf.py, not in the rst file itself. LLVM handles this
with some custom Python code that parses it out of the file. Do the same
thing in fish.
2019-02-24 18:15:48 -08:00
ridiculousfish
c8dc306b18 Fix command section separator line lengths 2019-02-24 18:15:48 -08:00
ridiculousfish
0e936198db Switch backticks to double backticks for rst compatibility 2019-02-24 18:15:48 -08:00
ridiculousfish
2a002a4ba1 Switch \fish sections to rst format 2019-02-24 18:15:48 -08:00
ridiculousfish
c33d1a217c Convert \\subsection sections into rst format 2019-02-24 18:15:48 -08:00
ridiculousfish
256c2dadee Migrate the 'synopsis' sections to .rst format 2019-02-24 18:15:48 -08:00
ridiculousfish
c213882511 Switch command docs from \section to reStructuredText 2019-02-24 18:15:48 -08:00
ridiculousfish
afd035f8cc Copy doc_src to sphinx_doc_src and add a TOC 2019-02-24 18:15:48 -08:00
ridiculousfish
cb045d5e6a Migrate index.rst to reStructuredText 2019-02-24 18:15:48 -08:00
ridiculousfish
c46f02e01e Initial sphinx file import 2019-02-24 18:15:23 -08:00
ridiculousfish
0a29eb3142 reader_readline to return maybe_t<wcstring>
Stop returning a raw pointer.
2019-02-24 14:00:22 -08:00
ridiculousfish
47f1b026e6 Simplify reader generation count using thread_local
Replaces pthread_set_specific
2019-02-24 13:39:43 -08:00
ridiculousfish
4b292c777d Clean up and clarify reader_exit() 2019-02-24 13:24:03 -08:00
ridiculousfish
144e37b8ba Remove some empty code 2019-02-24 13:14:36 -08:00
ridiculousfish
a81bfbb805 Rename end_loop to noni_end_loop
This helps distinguish between the global (noni_)end_loop and the reader
specific one.
2019-02-24 12:20:20 -08:00
ridiculousfish
815e20066b parser_t to become enable_shared_from_this 2019-02-24 12:12:24 -08:00
ridiculousfish
5134949a14 Factor color and terminal sequence outputting into outputter_t
Removes some static variables and simplifies the behavior of the tputs
singletone receiver.
2019-02-23 20:07:29 -08:00
ridiculousfish
9715db9434 Fix a "no return value" warning 2019-02-23 14:09:17 -08:00
ridiculousfish
130f2266d0 Remove the last of the signal blocking and checks
fish's signal handlers are now sufficiently innocuous that there should
be no reason to block signals (outside of temporarily, when creating a
thread and we need to manipulate the signal mask).
2019-02-23 14:07:35 -08:00
ridiculousfish
ec65ba3427 Remove signal_block_t
Bravely removing more signal blocks, now that our signal handling is so
simple.
2019-02-23 13:48:16 -08:00
ridiculousfish
0ff4046b8c Remove signal blocks from terminal_return_from_job
There's nothing justifying having these here.
2019-02-23 13:45:26 -08:00
ridiculousfish
f1b208997c Cleanup events
Prior to this fix, an "event" was used as both a predicate on which events
to match, and also as the event itself. Re-express these concepts
distinctly: an event is something that happened, an event_handler is the
predicate and name of the function to execute.
2019-02-23 13:33:12 -08:00
ridiculousfish
780b53ba73 Convert event_type_t to an enum class 2019-02-23 13:17:28 -08:00
ridiculousfish
1b8ddacfed Reimplement signal handling event machinery
Prior to this fix, fish had a signal_list_t that accumulated signals.
Signals were added to an array of integers, with an overflow flag.
The event machinery would attempt to atomically "swap in" the other list.

After this fix, there is a single list of pending signal events, as an array
of atomic booleans. The signal handler sets the boolean corresponding to its
signal.
2019-02-23 13:03:33 -08:00
ridiculousfish
003998c921 Event blocks just block all events
In a galaxy far, far away, event_blockage_t was intended to block only cetain
events. But it always just blocked everything. Eliminate the event block
mask.
2019-02-23 13:02:07 -08:00