Commit graph

466 commits

Author SHA1 Message Date
Kevin Ballard
cc7f1755aa web_config: Interpret fish output as utf-8
Use the unicode replacement character in place of non-utf-8 sequences.
2014-10-09 20:21:26 -07:00
Kevin Ballard
7493c9a040 fish_config: Log the path for errors 2014-10-09 18:33:59 -07:00
David Adam
71c55e1a4a web_config: send correct MIME type (and actually send it) 2014-10-09 18:45:17 +08:00
David Adam
3f0210dc96 web_config: fix output if no abbreviations defined 2014-10-07 12:21:02 +08:00
David Adam
7764a1a6f8 web_config: add support for viewing abbreviations
Add a new tab which lists the current abbreviations defined, by wrapping
the `abbr` command.

Work on #731.
2014-10-05 12:23:31 +08:00
David Adam
980bf6e2f4 web_config: set width to dynamic 80% of window
As we add more tabs, 800px looks increasingly cramped, and our config
should take advantage of the screen space available.
2014-10-05 12:23:31 +08:00
David Adam
6a0931aeae web_config: update AngularJS to 1.0.8 2014-10-05 12:23:31 +08:00
Kevin Ballard
3f11d90744 # This is a combination of 2 commits.
# The first commit's message is:

Simplify default fish_prompt

No need for the set_color caching now that it's a builtin.

Also simplify the 3 classic prompts in fish_config's sample_prompts set.
2014-10-02 18:41:01 -07:00
Konrad Borowski
8d03baa4e0 Make fish config work if one of colors is undefined.
This moves the sorting to be done before sorting remaining colors.
2014-09-23 13:48:00 +02:00
ridiculousfish
6083c6fc72 Incorporate attribute links for color themes in web_config 2014-09-19 18:44:50 -07:00
qjcg
9bfb4f1e11 Fix webconfig URL generation for python3
Closes #1677.

Signed-off-by: David Adam <zanchey@ucc.gu.uwa.edu.au>
2014-09-15 16:40:28 +08:00
ridiculousfish
f9f773cc28 Comment on why we run 'false' in web_config.py 2014-08-22 12:04:23 -07:00
Kevin Ballard
d9bf53c6e5 Show a non-zero status in the fish_config prompt
When selecting a prompt with fish_config, render the prompt with a
non-zero status so the user knows what it looks like.
2014-08-22 12:00:16 -07:00
Andy Lutomirski
9079ec459c webconfig: fixes for token security
* Use 16-byte tokens
 * Use os.urandom (random.getrandbits shouldn't be used for security)
 * Convert to hex correctly
2014-08-22 15:44:43 +08:00
Andy Lutomirski
aaddccfdb1 webconfig: Use a constant-time token comparison
This prevents a linear-time attack to recover the auth token.
2014-08-22 15:39:13 +08:00
David Adam
4ae2753025 Authenticate connections to web_config service
- Require all requests to use a session path.
 - Use a redirect file to avoid exposing the '/start' URL on the
   command line, as it contains the cookie value.

Fix for CVE-2014-2914.
Closes #1438.
2014-08-04 13:34:26 +08:00
Konrad Borowski
6c80a3461c
Add support for toor account.
Currently fish doesn't recognize toor as special. However, it's likely
that on BSD systems, fish shell will be used on toor, not on root (toor
is an intentionally existing account to use more advanced shell on, like
shell).
2014-07-30 11:55:47 +02:00
ridiculousfish
b6658c5497 Render sample prompts faster in fish_config by using a thread pool 2014-07-29 12:12:32 -07:00
ridiculousfish
aad5163b49 Make prompt selection more like color selection in fish_config. Remove
the "show prompt source" button.
2014-07-29 11:00:39 -07:00
David Xia
adabc2d7a0 Fix fish_config error with python3
Closes #1253.
2014-07-28 22:02:55 +08:00
Siteshwar Vashisht
317660c2fe Avoid using OptionParser to parse bindings in webconfig.py
OptionParser eats commaandline arguments passed to bind actions, so avoid using it.
2014-07-25 08:39:31 +05:30
ridiculousfish
f6a89d13c2 Merge branch 'master' of github.com:fish-shell/fish-shell 2014-07-23 22:27:37 -07:00
Siteshwar Vashisht
3e01dd955f Updated code to parse bindings in webconfig.py 2014-07-23 01:53:15 +05:30
adisbladis
27fa0ea9d7 "webconfig.py: Don't allow NoneType as buffer, fallback to bytes.
Fixes TypeErrors when using bindings tab"
2014-07-22 12:31:57 +02:00
Siteshwar Vashisht
7b3132d39d Fixed code to parse bindings for webconfig 2014-06-08 16:05:00 +05:30
Konrad Borowski
d97e31b4ab git prompt shouldn't export variables. 2014-06-01 09:39:28 +02:00
Maurizio De Santis
4285baa6e1 Prompt sample: Debian chroot environment
When you chroot in Debian, bash shows the chroot environment in the prompt:

```bash

...

if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

...
```

This is the effect:

```
(chroot_env) user@host:~#
```

It is useful when chrooting, since usually the hostname remains the same and thus you can't distinguish where you are.
2014-05-03 12:28:38 -07:00
Anders Bergh
44b35f7735 fish_config: Listen on both IPv6 and IPv4.
A subclass of TCPServer was created to deny any non-local connections and to
listen using an IPv6 socket.
2014-03-31 10:06:46 -07:00
Konrad Borowski
6d749789ce Use 127.0.0.1 for fish config.
Before this change, fish config used 0 as its address. However, this
isn't a good idea from security point of view, as web service can be
accessed from everywhere, and do anything on the account it was ran on.

This also deals with firewalls which block the access to 0 even from
the host machine itself. It possibly might fix #673, but I'm not sure.
2014-02-27 14:47:08 +01:00
ridiculousfish
5e7c01c251 Rework color editing in fish_config. Bury customization mode a bit:
initially the user only sees the various themes, and has to activate
customization mode to change colors. Tweak the appearance as well.
2014-02-24 01:56:02 -08:00
ridiculousfish
77dbaf3aef Fix for Python out-of-range exception when accessing Bindings tab 2014-02-09 20:19:04 -08:00
Siteshwar Vashisht
a1b43b7a09 Fix for opening bindings tab as initial tab
'fish_config bindings' command should open bindings tab as initially active tab
2014-01-30 23:53:49 +05:30
Konrad Borowski
2927514e68 Partially fix #1224.
It would be nice if this would work without this hack,
but until then, this has to work. Requires you to reinstall
the prompt using fish configuration system.
2014-01-10 21:33:50 +01:00
Siteshwar Vashisht
646180518a Minor fixes in the colors tab
* Show color scheme title in preview box
* Show information about setting terminal background color on Apply
button mouse hover
* Added text_color_for_color method in colors controller scope
2013-12-07 13:12:43 +05:30
Siteshwar Vashisht
659541f4a5 Merge branch 'master' into fish_config_angular 2013-12-07 09:50:59 +05:30
Konrad Borowski
591abd340b Fix bold in informative git prompt.
Currently this fix is useless, as web config cannot apply variables,
but in future, it could be more useful.
2013-11-27 11:41:13 +01:00
d10n
168d25e780 Do not open CLI browsers when using fish_config.
From the Python webbrowser documentation:
"If text-mode browsers are used, the calling process will block until the user exits the browser."

Running fish_config on an ssh server with no GUI browser will open a CLI browser which blocks and stops the server from handling requests.
Using multiprocess to run the server in the background lets CLI browsers access the page, but the page is unusable.

For now, disable CLI browsers and recommend opening the page in a graphical browser.
In the future, maybe write a CLI utility to change prompts and delete history items.
2013-11-26 00:41:09 -08:00
Siteshwar Vashisht
2271526d2f Do not highlight selected prompt 2013-11-09 23:33:56 +05:30
Siteshwar Vashisht
ea2e1f016f Set current prompt as selected prompt after prompt change 2013-11-09 20:43:19 +05:30
Siteshwar Vashisht
c4aa223698 Changed UI of prompt tab
Show function definition and use button under prompt demo when prompt
demo is selected
2013-11-09 19:30:41 +05:30
Siteshwar Vashisht
63233655f4 Updated fish_config prompt tab 2013-11-09 18:26:44 +05:30
Siteshwar Vashisht
9e424ed921 Show actual binding if user clicks a binding item 2013-10-27 18:51:50 +05:30
Siteshwar Vashisht
be55d2c57f Updated handling escape character in binding parser 2013-10-25 00:05:26 +05:30
Siteshwar Vashisht
119dd06ea8 Add a one second delay between query input and filtering history 2013-10-22 23:45:32 +05:30
Siteshwar Vashisht
aed26f8c1e Added code for parsing end key 2013-10-22 23:08:30 +05:30
Siteshwar Vashisht
6482fd52fb Moved some color related methods from index.html to colorutils.js 2013-10-22 23:00:38 +05:30
Siteshwar Vashisht
44b091a7c6 Enabled filtering by binding keys 2013-10-22 00:24:15 +05:30
Siteshwar Vashisht
8279a0d477 Display bindings, history and variables in multiple lines on click 2013-10-21 23:42:16 +05:30
Siteshwar Vashisht
7709af7a62 Removed extra spaces while showing function definition 2013-10-21 23:40:43 +05:30
Siteshwar Vashisht
80a48be324 Changed scheme for loading key bindings 2013-10-20 15:03:47 +05:30
Siteshwar Vashisht
bc9e2266be Added current scheme in list of color schemes 2013-10-20 14:28:40 +05:30
Siteshwar Vashisht
ff4d0ce1e1 Moved angular.js to js directory 2013-10-19 23:56:23 +05:30
Siteshwar Vashisht
5d8c776250 Moved all functions related to colors to a separate file 2013-10-19 23:54:51 +05:30
Siteshwar Vashisht
3d2315d596 Use single expression instead of a function call to show selected tab 2013-10-19 22:47:18 +05:30
Siteshwar Vashisht
892cc7da31 Added a global error handler 2013-10-19 22:36:18 +05:30
Siteshwar Vashisht
eb9e712f91 Reorganized javascript code across app, filters and controllers
Moved all javascript files under js folder
Removed jquery.js from repository
2013-10-19 12:02:00 +05:30
Siteshwar Vashisht
877a14c0b8 Added a filter for filtering bindings 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
0ad6e6f459 Updated binding tab to show descriptive key names 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
885c23b453 Show readable description of bindings 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
7cb8f6e9fc Added missing bindings partial 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
04f518082c Initial implementation of bindings tab 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
26926551cf Minor clean up of index.html 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
2069094f55 Removed unrequired code from colors controller 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
976a0a6264 Removed older css file 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
8edcf25ba3 Changed name of colors partials file and javascript file 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
e4029d00b6 Enabled support for applying color settings in new colors tab 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
044ff5e055 Updated new colors tab to enable background colors and selecting colors from options 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
0de8c28cf4 Updated history tab to show progress on loading items 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
a1bca962a7 Updated variables tab 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
f1a13c4ee5 Updated functions tab 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
5f6ec391e3 Initial work to add support for new colors tab 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
bf656577d9 Added support for setting colors 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
171bcb1ccf Cleaned up index.html 2013-10-17 19:47:04 +05:30
Siteshwar Vashisht
5e53c1cde8 Added support filter variables and history items 2013-10-17 19:47:03 +05:30
Siteshwar Vashisht
72431456ff Fixed code to delete history item 2013-10-17 19:47:03 +05:30
Siteshwar Vashisht
b8deb49007 Fixed code for changing prompt 2013-10-17 19:47:03 +05:30
Siteshwar Vashisht
6b34f19396 Stop using indexes while selecting colors configs 2013-10-17 19:47:03 +05:30
Siteshwar Vashisht
c018bfdb4d Initial work to add support for angularjs 2013-10-17 19:47:03 +05:30
Konrad Borowski
a1020b3e61 Remove useless semicolon in webconfig.py 2013-09-08 20:19:43 +02:00
ridiculousfish
886c4320d6 Merge branch 'informative_git' of git://github.com/mariuszs/fish-shell into mariuszs-informative_git 2013-07-11 12:26:25 -07:00
Siteshwar Vashisht
379cf3d249 Converted tabs to spaces in webconfig script 2013-07-06 21:09:20 +05:30
Mariusz Smykuła
228fa38240 Renaming, cleanup 2013-06-18 22:26:43 +02:00
Mariusz Smykuła
a142c5e1ec Support for defining color with bold/brighter color set 2013-06-18 22:20:28 +02:00
Mariusz Smykuła
918df393e6 Use tabs, sample prompt 2013-06-18 08:52:32 +02:00
Marc Qualie
9169a673d5 Slightly modified this theme to match robbyrussel
I recently switch from ZSH to Fish shell and noticed that this theme is slightly different to the one provided by ZSH. I edited my own using funced but thought it might be useful for other people who are used to the ZSH interface.
2013-05-24 23:18:24 -07:00
ridiculousfish
8befc474c1 Ugly hack to move functions in sample prompts inside fish_prompt to address #736 2013-05-13 10:17:31 -07:00
ridiculousfish
2517832718 Teach fish_config how to find fish from __fish_bin_dir
Fixes https://github.com/fish-shell/fish-shell/issues/621
2013-04-15 14:15:47 -07:00
ridiculousfish
214ef3dd0b Formatting 2013-01-16 14:50:08 -08:00
ciembor
406c8a6d1e Ajax fix for Firefox, it isn't XML. 2013-01-16 14:45:59 -08:00
Anders Bergh
56dd25667d Make fish_config compatible with Python 2.5
Try to import parse_qs from the cgi module, and simplejson instead of json.
Use old string formatting. str.format() was backported from Python 3
to 2.6 and isn't available in 2.5.
2012-12-12 12:51:55 +01:00
Terje Larsen
f56f84c6ac Use echo -n instead of printf
- Remove useless comment, because multi-line prompt works good now.
2012-10-20 12:52:53 -07:00
ridiculousfish
211b9ea8b9 Added terlar's prompt, and robbyrussell which was inadvertently omitted
https://github.com/fish-shell/fish-shell/issues/329
2012-10-15 18:45:46 -07:00
Peter Ammon
86a978d9ee Fixed web_config prompt to work with Python 2.6.1 2012-09-10 02:11:06 -07:00
ridiculousfish
f6fe3df59b Fix to make prompt chooser work in Python3 2012-09-06 19:01:07 -07:00
ridiculousfish
e0764bb25e Improve python3 compatibility in webconfig.py 2012-09-06 02:03:21 -07:00
ridiculousfish
1ba0bfd10c Renamed hyperminamlist prompt 2012-09-06 01:52:21 -07:00
ridiculousfish
3589554028 Allow setting the prompt from web_config 2012-09-06 01:30:26 -07:00
ridiculousfish
3606664cf7 Merge branch 'webserver' of git://github.com/simukis/fish-shell into simukis-webserver
Conflicts:
	share/tools/web_config/webconfig.py
2012-08-20 12:03:39 -07:00
ridiculousfish
81f45208b0 Make history deletion from web config work properly with Unicode under both Python2 and Python3
Make the filter search field hide properly in tabs where it's non-functional
Fixes https://github.com/fish-shell/fish-shell/issues/265
2012-08-20 11:58:54 -07:00
Simonas Kazlauskas
ef566836c4 Wipe unnecessary as statement 2012-08-19 23:26:15 +03:00
Simonas Kazlauskas
10dfca1a75 Decode data in python3 – Fixes #265.
In both in python2 and python3 parse_qs expects str object. In
python2 it worked ok, because self.rfile was open in binary mode and
str in python2 is actually a string of bytes. However in python3 str is
actually string of unicode literals, not bytes and file was still open
in binary mode. Thus, deleting any file with non-ascii byte inside
filename failed in python3.

Also, cgi.parse_qs is deprecated and shouldn't be used.
2012-08-19 23:19:07 +03:00
Simonas Kazlauskas
b3e3f041fe Remove trailing spaces and replace tabs with spaces 2012-08-19 22:55:50 +03:00
ridiculousfish
f41a699f5d Fix to make the choose-a-port loop work correctly for webconfig.py under Python3 2012-08-17 01:14:05 -07:00
ridiculousfish
f6b76e6ecb Fix to allow specifying an initial tab in fish_config
For example, you can run "fish_config history"
2012-07-27 13:40:43 -07:00
ridiculousfish
e7cbcc83a4 Implemented history deletion from fish_config
Fixes https://github.com/fish-shell/fish-shell/issues/250
2012-07-27 00:31:00 -07:00
Adam
a49d245b92 Python3 fixes for webconfig.py 2012-06-05 20:40:51 -07:00
ridiculousfish
53cba2a2e6 Improved webconfig.py's handling of combined term256 and classic colors 2012-06-05 01:19:59 -07:00
ridiculousfish
4bd63020ca Fix to add a little explanatory text to colors in the web config interface 2012-05-08 17:10:38 -07:00
ridiculousfish
cccd1cefbe Make the web config page have a title and pass W3C validation 2012-04-11 18:26:10 -07:00
ridiculousfish
37defa739b Fix for an extra line at the end of the variable listing
Once again, fix the issue where some color cells aren't clickable
2012-04-01 01:31:38 -07:00
ridiculousfish
51ed3fbc4b More work to try to make webconfig's layout correct under firefox 2012-04-01 00:53:53 -07:00
ridiculousfish
f930303d3e Fix for an issue where you can't select the top row of colors 2012-03-31 15:38:30 -07:00
ridiculousfish
ff17101316 A little better support for non-term-256 colors in web config
Fix for a deadlock when autoloading a function triggers autoloading another function
2012-03-31 15:17:14 -07:00
ridiculousfish
a62f300753 Make the color picker cell borders appear correctly in Firefox 2012-03-27 19:00:03 -07:00
ridiculousfish
a11687fc5c Make the functions builtin have a bit nicer output
Stop autosuggesting things with newlines
Make webconfig a little nicer
2012-03-25 22:41:22 -07:00
ridiculousfish
fa346cec3b Moved some Python scripts into new share/tools/ directory.
Added fish_config function to launch web config
2012-03-25 18:38:33 -07:00