summaryrefslogtreecommitdiff
path: root/plugins/externaltools
diff options
context:
space:
mode:
authorPerberos <[email protected]>2011-11-12 04:26:45 -0300
committerPerberos <[email protected]>2011-11-12 04:26:45 -0300
commit09be0113ed921fd1841feca0bf0a3b76314f4c2d (patch)
treeeafc15fcfc35670b33f1622314f04f1ae5997feb /plugins/externaltools
parent78c5d0b687cfa66318a8189396eeb13c5050444a (diff)
downloadpluma-09be0113ed921fd1841feca0bf0a3b76314f4c2d.tar.bz2
pluma-09be0113ed921fd1841feca0bf0a3b76314f4c2d.tar.xz
adding a "search on text" external tool
Diffstat (limited to 'plugins/externaltools')
-rwxr-xr-xplugins/externaltools/data/Makefile.am3
-rwxr-xr-xplugins/externaltools/data/search-recursive.desktop.in9
-rwxr-xr-xplugins/externaltools/data/search-recursive.tool.in39
3 files changed, 50 insertions, 1 deletions
diff --git a/plugins/externaltools/data/Makefile.am b/plugins/externaltools/data/Makefile.am
index abac77c9..00888231 100755
--- a/plugins/externaltools/data/Makefile.am
+++ b/plugins/externaltools/data/Makefile.am
@@ -6,7 +6,8 @@ tools_in_files = \
tools_in_linux = \
open-terminal-here.tool.in \
- run-command.tool.in
+ run-command.tool.in \
+ search-recursive.tool.in
tools_in_osx = \
open-terminal-here-osx.tool.in
diff --git a/plugins/externaltools/data/search-recursive.desktop.in b/plugins/externaltools/data/search-recursive.desktop.in
new file mode 100755
index 00000000..41baf649
--- /dev/null
+++ b/plugins/externaltools/data/search-recursive.desktop.in
@@ -0,0 +1,9 @@
+[Pluma Tool]
+_Name=Search
+Shortcut=<Primary><Shift>f
+Languages=
+Applicability=local
+Input=document
+Output=output-panel
+Save-files=nothing
+
diff --git a/plugins/externaltools/data/search-recursive.tool.in b/plugins/externaltools/data/search-recursive.tool.in
new file mode 100755
index 00000000..66bf8748
--- /dev/null
+++ b/plugins/externaltools/data/search-recursive.tool.in
@@ -0,0 +1,39 @@
+#!/bin/bash
+# Copyright © 2011 Perberos
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by the
+# Free Software Foundation; either version 2.1 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+SEARCHTEXT=`matedialog --entry --title="Search text on files" --text="Text to search"`
+
+if [ ! "${#SEARCHTEXT}" = 0 ]; then
+
+ OIFS=$IFS; IFS=$'\n' # Backup and set new IFS
+
+ for LINE in `grep -nHIirF -- "$SEARCHTEXT" ./`; do
+ primer_indice=`expr index "$LINE" :`
+ tmp=${LINE:$primer_indice}
+ segundo_indice=`expr index "$tmp" :`
+ linea_codigo=${tmp:$segundo_indice}
+
+ # lugar donde está la palabra
+ posicion=`expr index "$tmp" "$SEARCHTEXT"`
+
+ linea_archivo=${LINE:0:$primer_indice + $segundo_indice - 1}
+
+ echo "${linea_archivo}: ${linea_codigo}"
+ done
+
+ IFS=$OIFS # Restore IFS
+fi