Commit Graph
328 Commits
Author SHA1 Message Date
Adam StricklandandGitHub 027d144c18 Merge pull request #543 from rglassett/fix-base-index
Decouple base_index from pane_base_index
2017-09-18 08:27:27 -05:00
Pete DohertyandGitHub 463a96ca6d Merge branch 'master' into fix-pane-base-index 2017-09-16 06:09:41 -07:00
Pete DohertyandGitHub 88f945142c Merge branch 'master' into remove-blank-monkey-patch 2017-09-16 05:50:39 -07:00
Ryan Glassett a9e2582623 Decouple base_index from pane_base_index
The pane_base_index and base_index options are set and handled
independently in tmux, so the value of pane_base_index should not
override the value of base_index (as it previously was).
2017-08-09 16:03:03 -07:00
Adam StricklandandGitHub 2e033bfbf9 Merge pull request #544 from rglassett/startup-window-pane-full-paths
[Fixes #537] Use full paths for startup window/pane
2017-07-26 17:10:38 -05:00
Pete DohertyandGitHub 642b47c74a Merge branch 'master' into issue/520-config-parse-error-message 2017-07-24 21:09:55 -04:00
Ryan Glassett 376b404bef [Fixes #537] Use full paths for startup window/pane
The startup_window and startup_pane options were not behaving correctly
for users running tmuxinator from within an existing tmux session.
Tmuxinator would generate commands like 'tmux select-window -t 1', which
would target the current session instead of the target (project)
session. This bug is fixed by specifying full paths
(session:window.pane) for the startup_window and startup_pane.
2017-07-14 09:03:13 -07:00
Ryan Glassett e2becec09b [Fixes #485] Respect global pane-base-index option
Tmuxinator currently fails to find a value for this option, because
pane-base-index is a window option, not a session option: the -w flag
must be passed to 'tmux show-option' in order to display it. This patch
fixes the issue with two changes to the #show_tmux_options method of
Tmuxinator::Project:

1. It now displays both global session options and global window
   options.
2. It now **only** detects the options that Tmuxinator::Project knows
   and cares about (currently base-index and pane-base-index)
2017-07-13 21:06:56 -07:00
Ryan Glassett e804c84ae0 Extract Tmuxinator::Doctor utility class
Extracts methods from Tmuxinator::Config that were only invoked as part
of the `tmuxinator doctor` command.

https://github.com/tmuxinator/tmuxinator/issues/457
2017-07-12 22:15:30 -07:00
Ryan Glassett 7a8e889272 Remove Object#blank? monkey patch
https://github.com/tmuxinator/tmuxinator/issues/458
2017-07-12 21:35:51 -07:00
Peter Doherty 4b6e9ec039 remove unused attr_readers from Tmuxinator::Window 2017-05-22 14:51:46 -04:00
Adam StricklandandGitHub df0a3ad572 Merge pull request #426 from pczarn/serialize-session
Generate project file from tmux session [reopened]
2017-05-22 10:18:13 -05:00
Adam Strickland c246d8c6b1 reducing complexity 2017-05-20 15:30:44 -05:00
Adam Strickland d6f2359a6e handling duplication and fixme issues 2017-05-20 11:53:01 -05:00
Edoardo TenaniandAdam Strickland c10fb5a75f rename hooks with project related names 2017-05-20 10:50:25 -05:00
Adam StricklandandGitHub bcbdafce7f Merge pull request #486 from endorama/add-hooks
Add tmuxinator project hooks
2017-05-20 10:48:14 -05:00
Adam StricklandandGitHub b17a165631 Merge branch 'master' into master 2017-05-19 12:27:06 -05:00
Adam Strickland 2e297d1111 updates rubocop to 0.46.0
used by CodeClimate

- removes old cops
- updates source to accommodate new cops
2017-05-19 11:05:15 -05:00
Peter Doherty 6609a45361 Merge remote-tracking branch 'upstream/master' into issue/520-config-parse-error-message 2017-05-07 16:49:17 -04:00
Peter Doherty d971f115a0 issue-520 - attach exception message to raised exception in Project::load 2017-05-07 16:47:28 -04:00
cqr a96b15e161 Adding error details to yaml parse failure 2017-05-01 17:21:39 +00:00
Jonathan ArnettandGitHub e5c4f6fa72 Merge pull request #482 from rpassis/bugfix/preWindowArray
Add ability for pre_window commands to parse yaml arrays (as well as strings)
2017-03-29 10:45:45 -04:00
Edoardo Tenani 52ce1cc73f cd to folder before executing hooks 2017-03-14 11:12:31 +01:00
Tom "Ravi" Hale fcd9e4b6fd Resolve CodeClimate complex method complaint 2017-03-02 11:13:05 +07:00
Edoardo Tenani efda235a24 deprecate pre and post options 2017-02-11 22:18:09 +01:00
Pete DohertyandGitHub f5ff647d6a Merge branch 'master' into Issues-360-462 2017-02-07 14:39:39 -05:00
Tom "Ravi" HaleandPeter Doherty 263692349f salvage haletom commits from PR 479 2017-02-07 14:24:39 -05:00
Pete DohertyandGitHub d9b1b59e06 Revert "Support specified config directory and XDG Base Dirs Spec" 2017-02-04 18:38:25 -05:00
Pete DohertyandGitHub f128ec480c Merge branch 'master' into Issues-360-462 2017-02-04 17:36:47 -05:00
Rogerio de Paula Assis cfade6b58a Removed trailing whitespace causing CI to fail 2017-01-31 10:45:14 +11:00
Rogerio de Paula Assis f12946dcbb A bit more refactoring as per feedback 2017-01-31 09:34:18 +11:00
Rogerio de Paula Assis f19e251bb7 Refactored as per code review feedback 2017-01-30 13:31:33 +11:00
Ryan Glassett e87f79fcd2 Fix typos 2017-01-26 17:50:14 -08:00
Edoardo Tenani fe7889c29d rename hooks with project related names 2016-12-23 17:48:06 +01:00
Edoardo Tenani 858a86e029 extract hook common functionality 2016-12-23 16:44:03 +01:00
Edoardo Tenani 1614203705 move project hooks to specific file 2016-12-23 16:42:35 +01:00
Edoardo Tenani 254ebfbe9e document new hook configs in sample.yml 2016-12-05 17:53:47 +01:00
Edoardo Tenani 4c33ac1185 pre and post settings as on_start and on_detach
Reword pre and post settings as on_start and on_detach; this acheive
two objectives: is semantically clearer after adding "hooks" and moves
the code all to the Tmuxinator::Hooks module.
2016-12-05 17:53:47 +01:00
Edoardo Tenani d662fc9c83 add hooks to project; close #476
As suggested in #476, would be useful to be able to specify command at
different stages of tmux session. Hooks are an effective way to execute
specific commands when specific events occurs. In particular it adds
on_detach, on_reattach, and on_stop hooks, to terminate or bootstrap
processes and daemons on session events.
2016-12-05 00:03:34 +01:00
Edoardo Tenani 5d4a16ffa5 add tmux stop template 2016-12-04 23:19:09 +01:00
Tom "Ravi" Hale 0c0f20ca12 Add helper environment for ENV["TMUXINATOR_CONFIG"] 2016-11-21 16:42:55 +07:00
Tom "Ravi" Hale 69c9cb73e0 Use map instead of += 2016-11-21 16:35:59 +07:00
Rogerio de Paula Assis 30bcc33401 Add ability for pre_window commands to parse yaml arrays 2016-11-09 12:38:43 +11:00
Tom "Ravi" Hale f86a065bf3 Save 2 lines 2016-11-08 17:35:15 +07:00
Tom "Ravi" Hale 9b5e2caa4c Silence rubocop 2016-11-08 17:11:06 +07:00
Tom "Ravi" Hale bfe338b70d Fix test and code 2016-11-08 16:10:09 +07:00
Tom "Ravi" Hale 3e3b1bc0c8 Refactor Config#project 2016-11-08 14:41:06 +07:00
Tom "Ravi" Hale 93f58424cd Add aliases for deprecated methods
Allow existing code to work with renamed methods

Deprecated methods: ignore the 1st, use the 2nd
alias :root             :directory
alias :project_in_root  :global_project
alias :project_in_local :local_project
2016-10-20 14:37:30 +07:00
Tom "Ravi" Hale f9c057fccb Support specified config directory and XDG Base Dirs Spec
Resolve Issue #462 - "Tmuxinator config files in a different location"
Resolve Issue #360 - "XDG base directory support"
Mentioned in Issue #427 - "Introduce Analytics Module"

Allow `$TMUXINATOR_CONFIG` to specify a configuration directory, which
will be created if it doesn't exist.  This directory takes preference
over honouring the XDG specification (below). If specified, this will be
the only configuration location used.

Honour the [XDG Base Directories Specification]
(https://specifications.freedesktop.org/basedir-spec/latest/) with
regards to user specific configuration files: Look for `tmuxinator`
configuration files under `$XDG_CONFIG_HOME/tmuxinator`.

For existing setups with no `$XDG_CONFIG_HOME` directory, continue to
create new projects in `~/.tmuxinator` for backwards compatibility.

If `$XDG_CONFIG_HOME/tmuxinator` exists, create new projects there.

If neither `~/.tmuxinator` nor `$XDG_CONFIG_HOME/tmuxinator` exist, use
`$XDG_CONFIG_HOME/tmuxinator` for new projects.

When loading a project, search `$XDG_CONFIG_HOME/tmuxinator` before
`~/.tmuxinator`.  Document in comments and tests the existing behaviour
of returning only the first project file found in a recursive search of
a configuration directory.

Add Config#directories: an array of the configuration director{y,ies}
which exist. Update commands `implode` and `list` to operate upon this
array.

Rename `Config#root` -> `Config#directory`
This directory is the only one used when creating new project files, and
may be either `$TMUXINATOR_CONFIG`, `$XDG_CONFIG_HOME/tmuxinator` or
`~/.tmuxinator`.

Implementing XDG Base Dirs support with backwards compatibility means
that two directories may contain project files, making the `root`
nomenclature misleading as it implies a single directory.

Rename `Config#project_in_root` -> `Config#global_project`
See comment on `root` terminology above.  `global_project` is also
shorter and corresponds to the naming of `default_project`

Rename `Config#project_in_local` -> `Config#local_project`
Fit with the naming of both `global_project` and `default_project`
2016-10-20 14:37:30 +07:00
Jonathan Arnett db36812d69 Updated Changelog for 0.9.0 2016-10-08 01:20:08 -04:00