Skip to content

Latest commit

 

History

History
135 lines (108 loc) · 4.74 KB

TODO

File metadata and controls

135 lines (108 loc) · 4.74 KB

TODO

Milestone 0.1

Done

  • Issue #25 - focus: true not working in panes.
  • Issue #15 - Pane ordering
  • Issue #21 - Python 2.6 errors with directories in unit tests
  • shell_command_before for teamocil.
  • teamocil and tmuxinator import support for blank panes
  • Add help docs to CLI commands and options.
  • tmuxp -L and -S autocomplete to correct server socket-name and socket-path.
  • Get sphinx-argparse in good enough shape for docs.
  • Rename functions - util.version() to util.has_required_tmux_version(). (done) - config.check_consistency() to config.validate_schema(). (done)
  • Python 2.6 support
  • Remove doc for run_tests.py visual test runner. Just have instruction for running test builder package.
  • tmuxp freeze:
    • offer to save session_name as default file if filename doesn't already exist in config dir.
    • Remove -zsh command, python, etc if just in shell.
  • Assure $ tmuxp freeze works with start_directory and does not return commands with dir and no CD's. (esp with zsh).

Milestone 0.2

Major

  • Fix inconsistencies / syncing with .get on Windows and panes. Always get freshest data.
  • Validate the data types passed back and forth between options and pane, window, session proprties. (Create a util method that maps key values to a type).
  • Unit test the above.
  • tmuxp freeze add autogenerated command to yaml configs (won't work w/ json)
  • pep8, pep257 for tests. (ongoing)
  • if no window_name in config, option automatic_rename: on by default and test.
  • example of doctest/usage example of creating a new tmux session from object
  • example of accessing a current tmux session from object
  • example of loading a tmux session from a :py:obj:dict. example of the schema.
  • code examples in docs
  • remove duplicated code in tmuxp.cli.
  • Determine the workflow for $ tmuxp load filename for sure. Document it.
  • Handle case where switching client via $ tmuxp load or $ tmuxp attach-session into another socket may cause an error.
  • Fix issue where tmuxp freeze with exotic PS1's cause strange outputs.
  • If session name for $ tmuxp freeze has spaces, replace whitespace with dashes.
  • Test and ensure correct pane. tmux-python#15.
  • :ref:`about_tmux` page.

Milestone 0.3

  • Automatically grab [-L socket-name] and [-S socket-path] from where tmuxp was ran. os.environ.get('$TMUX').

  • Automatically grab current sesession, window, session from where script is ran. $ tmuxp kill-window should kill current window.

    Or, As an alternative, create a mapping that pipes commands right into tmux like a layer cake.

  • $ tmuxp shortened CLI completion: - <session-name> - <config-file (minus extension)> yaml, json

    • current dir
    • config dir

    Will be able to attach sessions, load configs without an additional command. If ~/.tmuxp/hello.yaml exists,

    tmuxp <tab> will tab-complete and allow $ tmuxp hello to load the yaml config.

    If ~/.tmuxp/hello.json exists also, 'hello.json' and 'hello.yaml' will be available.

    If .tmuxp.yaml exists in current directory, . will be an option. If .tmuxp.json exists also, .tmuxp.json and .tmuxp.yaml will have to be entered.

    If hello.json exists in config directory and hello is a session name, autocomplete will offer both, hello attaches that session, hello.json will attempt to load the file (which may have a different session_name. If the filename and session name are the same, it will still offer to attach.

    $ tmuxp .<tab> will start autocompletion searching for YAML and JSON configs in cwd, as will $ tmuxp ..<tab> and $ tmuxp /.

    $ tmuxp path/to/dir should scan for loading .tmuxp.yaml and .tmuxp.json files.

  • /path/to/project/.tmuxp/*.yaml for projects with multiple workspaces.

  • Support for session, window, pane requires that supports path to shell script returning an exit code and only_if. Will verify before creation of session, window, pane. Can be used for assuring a tmuxp workspace sets up a development environment.

.. todo:: vim: set filetype=rst: