Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ed: implement global substitute #786

Merged
merged 1 commit into from
Nov 6, 2024
Merged

Conversation

mknos
Copy link
Contributor

@mknos mknos commented Nov 6, 2024

  • The input g/search1/s/search2/replace/ allows search1 to filter the lines to process, then search2 determines the text to replace per line
  • Don't return in the condition for g & v commands; this allows the subsequent condition to determine the command to be run globally
  • Using rindex() to find a delimiting '/' was incorrect because s/// confuses things with its own '/'
  • Adapt some code from getAddr() to find delimiter of search1 regex
  • test1: g/\//s/$/ NL/ ---> append the text " NL" to all lines matching literal '/'
  • test2: v/\//d ---> delete all lines not matching literal '/'

* The input g/search1/s/search2/replace/ allows search1 to filter the lines to process, then search2 determines the text to replace per line
* Don't return in the condition for g & v commands; this allows the subsequent condition to determine the command to be run globally
* Using rindex() to find delimiting '/' was incorrect because s/// confuses things with its own '/'
* Adapt some code from getAddr() to find delimiter of search1 regex
* test1: g/\//s/$/ NL/   ---> append the text " NL" to all lines matching literal '/'
* test2: v/\//d   ---> delete all lines not matching literal '/'
@github-actions github-actions bot added Type: enhancement improve a feature that already exists Priority: low get to this whenever Program: ed The ed program labels Nov 6, 2024
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:24 — with GitHub Actions Inactive
@mknos mknos temporarily deployed to automated_testing November 6, 2024 00:25 — with GitHub Actions Inactive
@coveralls
Copy link

coveralls commented Nov 6, 2024

Pull Request Test Coverage Report for Build 11694816201

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage decreased (-0.7%) to 73.069%

Totals Coverage Status
Change from base Build 11679746948: -0.7%
Covered Lines: 350
Relevant Lines: 479

💛 - Coveralls

@briandfoy briandfoy merged commit e9d1aa4 into briandfoy:master Nov 6, 2024
22 of 23 checks passed
@briandfoy
Copy link
Owner

changes: implement global substitute: g/search1/s/search2/replace/ allows search1 to filter the lines to process, then search2 determines the text to replace per line

@briandfoy briandfoy self-assigned this Nov 8, 2024
@briandfoy briandfoy added Status: accepted The fix is accepted and removed Priority: low get to this whenever labels Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Program: ed The ed program Status: accepted The fix is accepted Type: enhancement improve a feature that already exists
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants