Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
hfmrow authored Aug 8, 2020
1 parent d8641e4 commit 94b4c32
Showing 1 changed file with 48 additions and 41 deletions.
89 changes: 48 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
# Search and Replace 1.8 (2020-08-06)
# Search and Replace v1.8

*This program is designed to find and replace a text pattern in one or more files stored in one or more directories, subdirectories.
#### Last update 2020-08-06

*This program is designed to find and replace a text pattern in one or more files stored in one or more directories, sub-directories.
Search and replace in the clipboard is allowed. Drag and drop can be used.
You can use it to search multiple files to find definitions of specific functions in a development environment for example.*

Take a look at [H.F.M repositories](https://github.com/hfmrow/) for other useful linux softwares.

- If you just want **to use it**, simply **download** the **compiled version** under the [Releases](https://github.com/hfmrow/sAndReplace/releases) tab. You can check at [the Right way to install H.F.M's softwares](https://github.com/hfmrow/instHFMsofts) page to integrate this software in your debian environment.

- **Notice**, ".desktop" file is made to work into the "/opt" directory, if you want to put main folder in an other place, please adjust the ".desktop" file to match the desired directory. Remember, all ressources used are embedded in the executable. An ".opt" file is made at the first launch it's used to store used options.
Take a look at [H.F.M repositories](https://github.com/hfmrow/) for others useful Linux software.

- If you just want **to use it**, simply **download** the **compiled version** under the [Releases](https://github.com/hfmrow/sAndReplace/releases) tab. You can check at [the Right way to install H.F.M's softwares](https://github.com/hfmrow/instHFMsofts) page to integrate this software in your Debian environment.

- **Notice**, ".desktop" file is made to work into the "/opt" directory, if you want to put main folder in an other place, please adjust the ".desktop" file to match the desired directory. Remember, all resources used are embedded in the executable. An ".opt" file is made at the first launch it's used to store used options.

- Otherwise, if you plan to play inside the source code, see below "How to compile" section.

- All suggestions, contributions and ideas to improve software usability will be greatly appreciated.


## How it's made
### How it's made

- Programmed with go language: [golang](https://golang.org/doc/)
- GUI provided by [Gotk3](https://github.com/gotk3/gotk3), GUI library for Go (minimum required v3.16).
- I use home-made software: "Gotk3ObjHandler" to embed images/icons, UI-information and manage/generate gtk3 objects code from [glade ui designer](https://glade.gnome.org/). and "Gotk3ObjTranslate" to generate the language files and the assignment of a tooltip on the gtk3 objects (both are not published at the moment, in fact, they need documentations and, for the moment, I have not had the time to do them).
- I use home-made software: "Gotk3ObjHandler" to embed images/icons, UI-information and manage/generate gtk3 objects code from [glade ui designer](https://glade.gnome.org/). and "Gotk3ObjTranslate" to generate the language files and the assignment of a tool-tip on the gtk3 objects (both are not published at the moment, in fact, they need documentations and, for the moment, I have not had the time to do them).

## Functionalities
### Functionalities

- Search and replace text based on pattern (contained in text file(s)).
- Search and replace text pattern into clipboard.
Expand All @@ -28,29 +33,28 @@ Take a look at [H.F.M repositories](https://github.com/hfmrow/) for other useful
- Whole word functionality, Escape character can be used.
- Drag and drop capacity.
- Files can be sorted by extension or using a mask for filename.
- Options (top right) to filter text files analysis behavior (text detection) and to limit depth of directories where files will be seeked.
- Options (top right) to filter text files analysis behavior (text detection) and to limit depth of directories where files will be searched.
- Backup function available.
- Each function have his tooltip for explanations.
- Each function have his tool-tip for explanations.

## Some pictures and explanations
*This is the main screen, and children*

*This is the main screen, and childs*
![wholejpg](file:///media/syndicate/storage/Documents/dev/go/src/github.com/hfmrow/sAndReplace/assets/readme/whole.jpg)

![whole.jpg](assets/readme/whole.jpg)

## How to compile
### How to compile

- Be sure you have golang installed in right way. [Go installation](https://golang.org/doc/install).

- Open terminal window and at command prompt, type: `go get github.com/hfmrow/sAndReplace`

- See [Gotk3 Installation instructions](https://github.com/gotk3/gotk3/wiki#installation) for gui installation instruction.

- To change gtk3 interface you need to use the ```devMode = true``` to disable embedding assets. see below ...

- To change language file you need to use another home made software, (not published actually). So don't change language file ...

- To Produce a stand-alone executable, you must change inside "main.go" file:


```go
func main() {
Expand All @@ -66,38 +70,41 @@ into
...
```
This operation indicate that externals datas (Image/Icons) must be embedded into the executable file.
This operation indicate that externals data (Image/Icons) must be embedded into the executable file.
### Os information (build using)
| Name | Version / Info / Name |
| --------------- | ---------------------------------------------- |
| GOLANG | V1.14.6 -> GO111MODULE="off", GOPROXY="direct" |
| DISTRIB | LinuxMint Xfce |
| VERSION | 20 |
| CODENAME | CODENAME=ulyana |
| RELEASE | #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 |
| UBUNTU_CODENAME | focal |
| KERNEL | 5.4.0-42-generic |
| HDWPLATFORM | x86_64 |
| GTK+ 3 | 3.24.20 |
| GLIB 2 | 2.64.3 |
| CAIRO | 1.16.0 |
| Name | Version / Info / Name |
| --- | --- |
| GOLANG | V1.14.6 -> GO111MODULE="off", GOPROXY="direct" |
| DISTRIB | LinuxMint Xfce |
| VERSION | 20 |
| CODENAME | CODENAME=ulyana |
| RELEASE | #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 |
| UBUNTU_CODENAME | focal |
| KERNEL | 5.4.0-42-generic |
| HDWPLATFORM | x86_64 |
| GTK+ 3 | 3.24.20 |
| GLIB 2 | 2.64.3 |
| CAIRO | 1.16.0 |
- The compilation have not been tested under Windows or Mac OS, but all file access functions, line-end manipulations or charset implementation are made with OS portability in mind.
## You got an issue ?
### You got an issue ?
- Give informations (as above), about used platform and OS version.
- Go to this page: [Issues hfmrow/sAndReplace on GitHub](https://github.com/hfmrow/sAndReplace/issues) and start a new problem report.
- Give the information (as above), concerning your working environment as well as the version of the operating system used.
- Provide a method to reproduce the problem.
## Used libraries
### Used libraries
- [GitHub - alecthomas/chroma: A general purpose syntax highlighter in pure Go](https://github.com/alecthomas/chroma)
- [GitHub - dustin/go-humanize: Go Humans! (formatters for units to human friendly sizes)](https://github.com/dustin/go-humanize)
- [GitHub - gotk3/gotk3: Go bindings for GTK3](https://github.com/gotk3/gotk3)
- And some personal libraries not yet published.
## Website
### Visit
##### [GitHub repository](https://github.com/hfmrow/sAndReplace)
- [H.F.M Linux softwares](https://hfmrow.go.yo.fr/) Free linux software on Github. Sharing knowledge.
##### [Website H.F.M's Linux softwares](https://hfmrow.go.yo.fr/)

0 comments on commit 94b4c32

Please sign in to comment.