The web server is only active if you run the command fish_config. When you run this command, if finds the next available port, starting at localhost:8000 and opens a web browser pointing to that port.
Once in the web interface, you can click around to implement some pre-supplied recipies to your fish configuration.
If you hit ctrl-c, the fish_config program exits and stops listening on the port.
I don't think it automatically starts up. You have to run fish-config to start it yes?
$ fish_config
Web config started at 'file:///Users/bjorn/.cache/fish/web_config-6VIDFM.html'. Hit enter to stop.
::1 - - [12/Jul/2015 11:13:31] code 403, message Forbidden
When I kill this and refresh the config in the browser doesn't load anymore. So I don't see the problem.
It just makes Fish feel desktopy, a toy shell, and not something serious. Ask the vim crowd that even in 2015 uses vim in the terminal, even on desktops. You just don't do the things Fish does, it's that simple. Make the web server an addon and keep everybody happy!
I was being sarcastic, but I don't really like the idea of my shell having a built-in web server even if it's just a few lines of code - feels like a Rube Goldberg machine. You can do nice TUIs in the console as well, even with graphics, but it's not necessary in this case. Configuration files are just fine for nearly 100% of the people who use Fish.
You may feel better to know that the web server is not part of the shell itself. It's a separate Python script that does its work by invoking fish and sending it commands. Its source is here: https://github.com/fish-shell/fish-shell/blob/master/share/t...
You guys keep beating around the bush and keep downvoting me! Is the web server built-in? Yes, it is. Why do you keep finding excuses and why do you keep downvoting the voice of reasons - a shell should not have a web server in its codebase, period. Put this into an optional package and make everybody happy!
You are just shouting that a shell should not have a web server in it's codebase, but you are giving no reasons why. I am using vim in the console to this day, and I don't mind my shell having a web interface for the most common use cases.
Some people do find the web interface useful, otherwise it wouldn't be there. On the other hand, you are not providing any reasons why a web server is harmful, why would anybody listen to you as the voice of reason, if your axiom is "a shell should not have a web server in its codebase, period"?
Fish is a deviant. There are thousands of *nix projects out there, many with a much more desperate need for a web UI, but they simply don't do it, because they know that they shouldn't cross that line.