Skip to content

Instantly share code, notes, and snippets.

View Ahmad45123's full-sized avatar
🏫
Studying Computer Science

Ahmed Elwasefi Ahmad45123

🏫
Studying Computer Science
  • German University in Cairo
  • Egypt
View GitHub Profile
@Ahmad45123
Ahmad45123 / gsoc-2023.md
Last active September 22, 2023 14:09
GSoC 2023 - Chromium Accessibility Performance

About Me

I'm Ahmed Elwasefi, a computer engineering student from the German University in Cairo. This year, I was contributing to Chromium as part of Google Summer of Code 2023.

I approached my participation in GSoC differently from the usual process. When I initially decided to contribute to Chromium, I looked through the good-first-bug in Chromium Issue Tracker to find issues to address in order to familiarize myself with the codebase. While browsing through Chromium's issue tracker, I happened to select accessibility-related problems by chance. One of these issues was created by Aaron Leventhal, so I reached out to him to gather more details about the problem and to seek his guidance in resolving it. To cut a long story short, I was impressed by Aaron's exceptional willingness to assist and share his knowledge. At that point, I thought, "Hey Aaron, would you be interested in some collaboration during the summer?" J

@Ahmad45123
Ahmad45123 / gsoc-2021-word-product.md
Last active February 3, 2023 14:45
GSoC 2021 - Joplin - Conflict Resolution Plugin Project - Work Product

Conflict Resolution Plugin - GSoC 2021

A plugin was developed in order to make the process of resolving conflicts easier. It provides a nice diff-window in which you can see the differences between your current note and the note received from cloud.

Preview

What was done ?

The plugin could be considered to be made of 5 parts:

private void Scintilla_InsertCheck(object sender, InsertCheckEventArgs e)
{
if ((e.Text.EndsWith("" + Constants.vbCr) || e.Text.EndsWith("" + Constants.vbLf))) {
int startPos = Scintilla.Lines(Scintilla.LineFromPosition(Scintilla.CurrentPosition)).Position;
int endPos = e.Position;
string curLineText = Scintilla.GetTextRange(startPos, (endPos - startPos)); //Text until the caret so that the whitespace is always equal in every line.
Match indent = Regex.Match(curLineText, "^[ \\t]*");
e.Text = (e.Text + indent.Value);
if (Regex.IsMatch(curLineText, "{\\s*$")) {