Skip to content

Commit 3f9d7a6

Browse files
authored
Enhanced documentation, tooltips and screenshots (#33)
* Enhanced documentation, tooltips and screenshots * Updated file names
1 parent 7f48133 commit 3f9d7a6

File tree

10 files changed

+79
-35
lines changed

10 files changed

+79
-35
lines changed

README.md

Lines changed: 66 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,101 @@
11
# Eco-Search
2+
23
[![release](https://img.shields.io/github/v/release/cyrus2281/Echo-Search?color=00ff00)](https://github.com/cyrus2281/Echo-Search/releases)
34
[![version](https://img.shields.io/github/package-json/v/cyrus2281/Echo-Search)](https://github.com/cyrus2281/Echo-Search)
45
[![License](https://img.shields.io/github/license/cyrus2281/echo-search)](https://github.com/cyrus2281/Echo-Search/blob/main/LICENSE)
56
[![react](https://img.shields.io/github/package-json/dependency-version/cyrus2281/Echo-Search/react?logo=react&color=lightblue)](https://reactjs.org/)
67
[![electron](https://img.shields.io/github/package-json/dependency-version/cyrus2281/Echo-Search/dev/electron?logo=electron&color=lightblue&logoColor=lightblue)](https://www.electronjs.org/)
8+
[![buyMeACoffee](https://img.shields.io/badge/BuyMeACoffee-cyrus2281-yellow?logo=buymeacoffee)](https://www.buymeacoffee.com/cyrus2281)
79
<br>
810

9-
This application will crawl recursively through the given parent directory and will look for the given string/regular expression in all text files and replace it with the given string.
11+
Echo Search is a feature-rich and powerful application that allows you to search for a specific text or regular expression query in the content of files within a directory and its subdirectories. It also offers the ability to replace the found text with another string of your choice. With its wide range of options and capabilities, it is an ideal solution for software developers, data analysts, and anyone looking for an efficient way to search and replace text in files.
1012

11-
You can select multiple parent directories, mark search as case insensitive or matching whole words, provide a multi-line search query, include specific files types, exclude paths or file types, and even configure the regex search modifier flags. You can use concurrency to run the application on multiple threads.
13+
## Key Features
1214

13-
You get a live report on the search happening in the provided console in the app and you can open each file with desktop's default app or in the respective folder.
15+
- Search for text or regular expressions: Echo Search supports both simple text queries and complex regular expression queries.
1416

15-
This app is only for text based files and can NOT be used with files such as pdf, doc, excel, etc.
17+
- Multi-line queries: You can search for text across multiple lines in a single file.
1618

17-
The app is written with Electron (Node) for the backend, and React (JavaScript) for the frontend.
19+
- Search only mode: If you just want to search for files that contain a specific query, Echo Search has a search only mode that allows you to do just that, without making any replacements.
1820

19-
<br>
21+
- Case sensitivity: You can choose whether the search should be case sensitive or not.
2022

21-
# Installation
23+
- Whole word match or partial match: You can choose to search for the entire word only, or allow for partial matches.
2224

23-
1. Download the `latest` release for your operating system from [Releases](https://github.com/cyrus2281/Echo-Search/releases).
25+
- Multiple parent directories: You can select multiple parent directories to search in, making it easy to search across a wide range of files.
2426

25-
- Open the latest release
26-
- From `Assets` download the version for your operating system
27-
- Windows: echo-search-X.X.X.WIN.Setup.exe
28-
- MacOS: echo-search-darwin-x64-X.X.X.zip
29-
- Linux: clone the code and run `npm i && npm run make:linux`
27+
- File extension options: You can choose to search in all file types, or select specific file extensions to focus on. You can also exclude specific file extensions if desired.
3028

31-
2. Install the app by running the file.
32-
3. a shortcut should appear on your desktop/app bar.
29+
- Concurrent processing: Echo Search supports concurrent processing, allowing you to run the application in multiple threads for faster results. You can select up to 80% of the available cores.
3330

34-
That's it. Enjoy the app.
31+
- Regular expression flags: Echo Search supports a range of regular expression flags, allowing you to customize the search even further.
3532

36-
# Demo of Application
33+
- Live feedback console: Echo Search provides a console with live feedback on the progress of the search, making it easy to monitor its progress. You can also clear the console at any time.
3734

38-
### Echo Search Empty
35+
- Direct file and directory access: You can open the updated files or their directories with the file pre-selected directly from the console.
36+
37+
***Note:** This app is only for text based files and can NOT be used with files such as pdf, doc, excel, etc.*
3938

40-
<img src="./images/baseapp.png" />
4139
<hr>
4240

43-
### Echo Search Filled
41+
## Installation
4442

45-
<img src="./images/filled.png" />
46-
<hr>
43+
### Windows
44+
45+
1. Open the `latest` release from [Releases](https://github.com/cyrus2281/Echo-Search/releases).
46+
2. From `Assets` download the `exe` version.
47+
`Echo Search-X.X.X.WIN.Setup.exe`
48+
3. Install the app by running (double clicking) the file.
4749

48-
### Echo Search Sample output
50+
### MacOS
51+
52+
1. Open the `latest` release from [Releases](https://github.com/cyrus2281/Echo-Search/releases).
53+
2. From `Assets` download the `zip` version.
54+
`Echo Search-darwin-x64-X.X.X.zip`
55+
3. After downloading the zip, double click on it to extract the file.
56+
4. Right click on the file and select open. You might see a warning that the developer is unknown, accept and open the app (this is because the app is not registered under the apple's paid subscription).
57+
5. Drag and move the app to the application folder.
58+
59+
### Linux
60+
61+
1. Open the `latest` release from [Releases](https://github.com/cyrus2281/Echo-Search/releases).
62+
2. From `Assets` download the `source code`
63+
3. unzip the code
64+
4. from within the repository run: `npm i && npm run make:linux`
65+
5. the app will be built in the `out` directory (exact path will be visible in the terminal)
66+
67+
That's it. Enjoy the app.
4968

50-
<img src="./images/running.png" />
5169
<hr>
5270

71+
Echo Search is a versatile and efficient tool for searching and replacing text in files. With its extensive range of options and capabilities, it is suitable for a wide range of use cases, whether you are a software developer looking for a quick way to update code, or a data analyst searching for specific information in large datasets. Try Echo Search today and see how it can make your life easier.
72+
73+
## Application Screenshots
74+
75+
<div style="display:flex; gap:2%;">
76+
<img src="./images/baseapp.png" width="49%" />
77+
<img src="./images/options.png" width="49%" />
78+
</div>
79+
<br>
80+
<div style="display:flex; gap:2%;">
81+
<img src="./images/filled.png" width="49%" />
82+
<img src="./images/running.png" width="49%" />
83+
</div>
84+
85+
## License
86+
87+
The app is written using Electron (NodeJS) and React.
88+
89+
Echo Search is licensed under the [BSD 3-Clause](./LICENSE).
90+
5391
## Java
5492

5593
This app was originally written in Java. the source code for the legacy version is still available in the `Java` directory.
5694

5795
NOTICE: this version is no longer supported the the latest release is the recommend version to use.
5896

97+
<br>
98+
99+
<hr>
100+
59101
Copyright(c) Cyrus Mobini 2023

images/baseapp.png

0 Bytes
Loading

images/filled.png

1.09 KB
Loading

images/options.png

50.3 KB
Loading

images/running.png

11.1 KB
Loading

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"name": "echo-search",
3-
"productName": "echo-search",
4-
"version": "2.4.7",
5-
"description": "An application to search and replace strings in files recursively",
3+
"productName": "Echo Search",
4+
"version": "2.4.8",
5+
"description": "Echo Search is a feature-rich application designed to help you search and replace text within the contents of files in a directory and its subdirectories.",
66
"main": ".webpack/main",
77
"scripts": {
88
"start": "cross-env NODE_ENV=development electron-forge start",
@@ -17,7 +17,9 @@
1717
"update:minor": "npm version minor",
1818
"update:patch": "npm version patch --no-git-tag-version --no-commit-hooks"
1919
},
20-
"keywords": [],
20+
"keywords": [
21+
"search", "find", "replace", "findAll", "replaceAll", "findAndReplace", "searchAndReplace"
22+
],
2123
"author": {
2224
"name": "Cyrus Mobini",
2325
"url": "https://github.com/cyrus2281"

src/Client/Components/ExcludeSelector.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ function ExcludeSelector({ form }) {
5454
<Box sx={{ width: "100%", display: "flex", alignItems: "center" }}>
5555
<Typography variant="body1">Files/Directories To Exclude:</Typography>
5656
<Tooltip
57-
title="Path can complete or partial match. It can also be used to exclude specific file extensions."
57+
title="Paths can be complete or partial match. It can also be used to exclude specific file extensions."
5858
sx={{ ml: 1 }}
5959
>
6060
<IconButton>

src/Client/Components/MultiThreading.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ const MultiThreadingTooltip = styled(({ className, ...props }) => (
2323
Higher number of threads does NOT mean faster results. Concurrency
2424
depends on different factors such as the <em>number of threads</em>,
2525
<em> power of each core</em>, and the
26-
<em> amount of available memory</em>. Note that concurrency uses
27-
considerably more amount memory. Please be sure not overload your system
28-
memory. With Concurrency you might feel some asynchronously or miss some
26+
<em> amount of the available memory</em>. Note that concurrency uses
27+
considerably more amount of memory. Please be sure not overload your system
28+
memory. With Concurrency you might feel some asynchronous behavior or miss some
2929
messages. <br></br> You're not allowed to use more than <b>80%</b> of
3030
your CPU cores.<br></br> We recommend testing with different number of
3131
threads to find the best performance.

test/echo-search.spec.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
2121

2222
const testDir = path.join(__dirname, "testDir");
2323

24-
describe("Echo-Search.js", function () {
24+
describe("Echo-Search", function () {
2525
// make test environment
2626
beforeEach(function () {
2727
// create directory testDir

0 commit comments

Comments
 (0)