Bug 209263 - [NEW PORT] shells/zsh-navigation-tools: advanced history searcher for Zsh
Summary: [NEW PORT] shells/zsh-navigation-tools: advanced history searcher for Zsh
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Adam Weinberger
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-04 13:37 UTC by Sebastian Gniazdowski
Modified: 2016-05-16 17:38 UTC (History)
1 user (show)

See Also:


Attachments
zsh-navigation-tools v2.0.8 (4.11 KB, text/plain)
2016-05-04 13:37 UTC, Sebastian Gniazdowski
no flags Details
Current version (3.92 KB, text/plain)
2016-05-15 19:50 UTC, Sebastian Gniazdowski
no flags Details
poudriere log (12.08 KB, text/plain)
2016-05-15 19:51 UTC, Sebastian Gniazdowski
no flags Details
portlint output (9.07 KB, text/plain)
2016-05-15 19:52 UTC, Sebastian Gniazdowski
no flags Details
Third .shar with the port (3.56 KB, text/plain)
2016-05-16 05:13 UTC, Sebastian Gniazdowski
no flags Details
Second poudriere log, no warnings (12.07 KB, text/plain)
2016-05-16 05:14 UTC, Sebastian Gniazdowski
no flags Details
shar with the port, version bump, fixes for FreeBSD's vt (3.58 KB, text/plain)
2016-05-16 14:09 UTC, Sebastian Gniazdowski
no flags Details
poudriere log, no warnings (12.09 KB, text/plain)
2016-05-16 14:11 UTC, Sebastian Gniazdowski
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Gniazdowski 2016-05-04 13:37:43 UTC
Created attachment 169961 [details]
zsh-navigation-tools v2.0.8

This set of tools provides advanced history searcher for Zsh. It uses
Curses, supports color themes, etc. however most of all: is multi-word.
Full description:

Set of tools like n-history - multi-word history searcher, n-cd -
directory bookmark manager, n-kill - htop like kill utility, and more.
Feature highlights include incremental multi-word searching, ANSI
coloring, unique mode, horizontal scroll, non-selectable elements,
grepping and various integrations with Zsh. List of tools provided:
    - n-history - the full-screen history searcher
    - n-kill - browses processes list, allows quick searching and
      sending signal to selected processes
    - n-panelize - loads output of given command into the list for
      browsing and multi-word searching
    - n-cd - browses dirstack and bookmarked directories, allows to
      enter selected directory

Once installed, following must be added to zshrc:
  fpath+=( /usr/local/share/zsh-navigation-tools )
  source /usr/local/share/zsh-navigation-tools/zsh-navigation-tools.plugin.zsh

Written in pure Zsh, with use of curses module.

Video with subset of features: https://youtu.be/DN9QqssAYB8
Comment 1 Adam Weinberger freebsd_committer freebsd_triage 2016-05-14 22:20:38 UTC
Hi Sebastian, thanks for submitting this port.

This program looks interesting... I like to see it added.

This port won't work without zsh, correct? In that case, it needs a run-time dependency on it. It's up to you, but I suggest that you reword the COMMENT so that it sounds less awkward.

Please attach a `poudriere testport` log and output of `portlint -AC`
Comment 2 Sebastian Gniazdowski 2016-05-15 19:50:40 UTC
Created attachment 170330 [details]
Current version
Comment 3 Sebastian Gniazdowski 2016-05-15 19:51:40 UTC
Created attachment 170331 [details]
poudriere log
Comment 4 Sebastian Gniazdowski 2016-05-15 19:52:29 UTC
Created attachment 170332 [details]
portlint output
Comment 5 Sebastian Gniazdowski 2016-05-15 19:55:21 UTC
I've attached current version and the two outputs. Thanks for accepting this software, I'm submitting it to FreeBSD because it should be useful to system administrators. I've reworded COMMENT, not sure if it's fine now. Also rewritten description, it's much better now.
Comment 6 Adam Weinberger freebsd_committer freebsd_triage 2016-05-16 02:25:09 UTC
Please fix the warnings from portlint and poudriere.

In the pkg-plist, use the built-in substitutions:
  %%DATADIR%% instead of share/zsh-navigation-tools
  %%DOCSDIR%% instead of share/doc/zsh-navigation-tools

Add NO_ARCH=yes to the Makefile.

When a port installs documentation, you need to add a DOCS option. You can do it like this:

Makefile:
OPTIONS_DEFINE=    DOCS

pkg-plist: add %%PORTDOCS%% before each file in DOCSDIR:
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
[etc.]

Also, please sort the pkg-plist. Capital letters are sorted before lower-case.

One last thing: tabs after every '=' in the Makefile so the values line up.

Run poudriere and portlint -AC after these changes as well and make sure they are both happy. Then I think we'll be ready to commit the port!
Comment 7 Sebastian Gniazdowski 2016-05-16 05:13:37 UTC
Created attachment 170340 [details]
Third .shar with the port

Introduced %%DATADIR%%, %%DOCSDIR%%, NO_ARCH=yes, DOCS option, %%PORTDOCS%%, sorted pkg-plist, added tabs after =
Comment 8 Sebastian Gniazdowski 2016-05-16 05:14:41 UTC
Created attachment 170341 [details]
Second poudriere log, no warnings
Comment 9 Sebastian Gniazdowski 2016-05-16 05:16:17 UTC
Did all the changes, portlint -AC says "looks fine.", poudriere log doesn't have warnings. Thanks
Comment 10 Sebastian Gniazdowski 2016-05-16 14:09:35 UTC
Created attachment 170352 [details]
shar with the port, version bump, fixes for FreeBSD's vt
Comment 11 Sebastian Gniazdowski 2016-05-16 14:11:04 UTC
Created attachment 170353 [details]
poudriere log, no warnings

portlint -AC says "looks fine."
Comment 12 commit-hook freebsd_committer freebsd_triage 2016-05-16 16:30:29 UTC
A commit references this bug:

Author: adamw
Date: Mon May 16 16:29:45 UTC 2016
New revision: 415339
URL: https://svnweb.freebsd.org/changeset/ports/415339

Log:
  Add shell/zsh-navigation-tools.

  Set of Zsh tools with features like incremental multi-word searching,
  approximate matching, ANSI coloring, themes, unique mode, horizontal
  scroll and advanced history management. Selected tools provided:
      - n-history - full-screen history searcher and manager
      - n-kill - browses process list, allows quick searching and
        sending signal to selected process
      - n-panelize - loads output of given command for browsing and
        multi-word searching
      - n-cd - browses dirstack and bookmarked directories, allows to
        enter selected directory
      - n-functions - browses functions, relegates editing to vared

  Written in pure Zsh, with use of curses module. Can be configured from
  zshrc. Binds n-history to Ctrl-R. Provides widgets for n-cd and n-kill.

  WWW: https://github.com/psprint/zsh-navigation-tools

  PR:		209263
  Submitted by:	Sebastian Gniazdowski

Changes:
  head/shells/Makefile
  head/shells/zsh-navigation-tools/
  head/shells/zsh-navigation-tools/Makefile
  head/shells/zsh-navigation-tools/distinfo
  head/shells/zsh-navigation-tools/files/
  head/shells/zsh-navigation-tools/files/pkg-message.in
  head/shells/zsh-navigation-tools/pkg-descr
  head/shells/zsh-navigation-tools/pkg-plist
Comment 13 Adam Weinberger freebsd_committer freebsd_triage 2016-05-16 16:30:49 UTC
Okay I've committed the port. Really good work!

I only made one change: I moved the instructions for enabling z-n-t from the pkg-descr to the pkg-message.
Comment 14 Sebastian Gniazdowski 2016-05-16 17:38:17 UTC
Thank you! Very happy!