Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
GSoC 2018 Final Submission Report 

GSoC 2018 Final Submission Report - Find Enhancements

Overview

The aim of this project was to enhance the search and replace functionality of xi editor. I extended xi editor to allow search using regular expressions, replacements of matched strings and multiple search queries. Additionally, I integrated a more advanced interface for find and replace into xi-mac as well as highlighting matching text in opened documents.

Work Completed

  • Outsource find logic from view.rs into separate file: #649
  • Plan and implement new RPCs for Find:
  • Sending and processing the find status sent from backend to frontend: #190, #688, #687
  • Search using regular expressions in xi editor: #658
  • Support "Selection for find": #701, #202
  • Support "Add next to selection": #704, #203
  • Support "Split Selection into Lines": #239, #770
  • Plan and implement Replace functionality: #720, #207
  • Implement an interface for find and replace into xi-mac:
    • Discussion and Planning: #179
    • Implementation was iterative and distributed over many commits

image

Work in Progress

  • Support multiple search queries: #745, #229

image

This work is currently under review.

Future Work

  • Minor improvement of regex search to avoid the copy based on Cow: #658
  • Colorizing of results based on groupings when using regular expressions
  • Search all files in directory or workspace
  • Currently the colors for highlighting multiple search queries are hardcoded. It would be better to allow loading of custom themes that define these colors.

Other Related Issues

@scholtzan

This comment has been minimized.

Copy link
Owner Author

commented Aug 3, 2018

screen shot 2018-08-03 at 12 58 04

@scholtzan

This comment has been minimized.

Copy link
Owner Author

commented Aug 6, 2018

screen shot 2018-08-06 at 10 17 40

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.