nicosantangelo / sublime-gulp

Run Gulp tasks and use snippets from Sublime Text
https://sublime-gulp.nicosantangelo.com/
MIT License
155 stars 18 forks source link

silent mode #9

Closed KevinBatdorf closed 10 years ago

KevinBatdorf commented 10 years ago

Is it possible to allow the results to run silently instead of bringing up the panel (or a new tab)?

Maybe just have to panel appear when there is an error.

Or have it appear, but then close itself after a few seconds.

Thanks

nicosantangelo commented 10 years ago

Absolutely, I like the idea. I don't know how much time I can put into this but I'll give it a shot.

I think I'll add a setting to run without panels and a Gulp (silent) command to just run that command in 'silent' mode. To only show the result on error I need to check if gulp writes to stderr or only to stdout, but closing after a timeout also it's very much possible.

Thanks for the suggestion!

Sigmus commented 10 years ago

Good stuff!

nicosantangelo commented 10 years ago

This is almost finished on the silent_mode branch. I just have to test it in Windows and Linux, but I wanted to get some feedback in the meantime.

Right now it does two new things:

  1. Provides a new command Gulp (silent) which will not show the panel/tab with the results (and can be added as a keyboard shortcut).
  2. There's a new setting, results_autoclose_timeout_in_milliseconds, which closes the panel/tab in the specified time. The bad thing is that closing the tab triggers the prompt to save the changes which is annoying, but I couldn't find a way around this (yet).

Let me know, thanks!

KevinBatdorf commented 10 years ago

Thanks @NicoSantangelo I'll give it a try in a day or two :)

Sigmus commented 10 years ago

@NicoSantangelo works perfectly. The results_autoclose_timeout_in_milliseconds is also a very good idea.

Thanks!

KevinBatdorf commented 10 years ago

Hey, the silent mode works as expected, but I'm not sure if the experience is very good without any feedback at all. Especially for tasks that don't use browsersync or show any changes. Perhaps you could echo to the status bar that the task name has been completed?

As for the timeout option, this should be in a callback after the task is completed. If I set the timeout to 1000, the panel closes while the task is still running instead of after it completed. Some tasks take longer than others.

Ideally, I would like this user experience: I run a task silently. If it completes, I see a success notification in the status bar for a second or two. If there is an error, the panel shows up stating the error and the panel closes after the predefined timeout settings.

Thanks for working on this, by the way!

nicosantangelo commented 10 years ago

Thanks both for the feedback!

The status bar text is a must, I used gulp-notify while I was testing this so I didn't realize there was no feedback at all.

I agree that the timeout should be used only if the task finished, again, the tasks I used were really fast so I didn't notice. I'll give your suggestion a try, the only problem I see is reopening on error, not because is inherently hard but because I think I don't have a standard way to check for errors.

Sorry if I rushed the feature and didn't check the user experience and thanks a lot for taking the time to test it.

I'll let you both know how it goes :)

nicosantangelo commented 10 years ago

Well I think I made some progress.

There's one new setting, show_silent_errors, which acts as a flag for re-opening the panel if the task was run with (silent) but it had errors.

Now we have status messages, the panel autoclose timeout after the task finishes and reopening on error. Plus, now the errors are printed to the panel and I was able to close the new tab without the prompt.

I plan to release this with #10 (if I can create a nice syntax), so it might take a while, but in the meantime I won't delete the branch.

Let me know what you think!

nicosantangelo commented 10 years ago

I'm closing this because this changes are going live with version 3.0.0 soon.

If you have any problems or suggestions let me know. Thanks a lot for the help!

KevinBatdorf commented 10 years ago

Thanks for your hard work!