From 4ce72a51c30e90470fd18a5504e3250f1a47370d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Nonslid=20H=C3=A5vardsen?= Date: Mon, 9 Jun 2025 22:55:14 +0200 Subject: [PATCH] option: Add option to limit result list --- bin/cppman | 6 ++++-- cppman/main.py | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/bin/cppman b/bin/cppman index 92171db..728cfd6 100755 --- a/bin/cppman +++ b/bin/cppman @@ -91,7 +91,9 @@ def main(): make_option('-v', '--version', action='store_true', dest='version', default=False, help='Show version information.'), make_option('--force-columns', action='store', dest='force_columns', - type=int, default=-1, help='Force terminal columns.') + type=int, default=-1, help='Force terminal columns.'), + make_option('-n','--max-results', action='store', dest='max_results', + type=int, default=-1, help='Maximum number of search results to show.') ] parser = OptionParser( @@ -159,7 +161,7 @@ def main(): sys.exit(1) try: - keyword = cm.fuzzy_find(args[0]) + keyword = cm.fuzzy_find(args[0], options.max_results) if not keyword: sys.exit(1) diff --git a/cppman/main.py b/cppman/main.py index 477ed4c..e1d246d 100644 --- a/cppman/main.py +++ b/cppman/main.py @@ -596,9 +596,11 @@ def find(self, pattern): else: raise RuntimeError('%s: nothing appropriate.' % pattern) - def fuzzy_find(self, pattern): + def fuzzy_find(self, pattern, max_results): """Find pages in database and present an interactive selection menu.""" results = self._search_keyword(pattern) + if max_results >= 1: + results = results[:max_results] if not results: raise RuntimeError('%s: nothing appropriate.' % pattern)