DEV Community

Cover image for Android CodeView: an Easy way to create a Code Editor app
Amr Hesham
Amr Hesham

Posted on

Android CodeView: an Easy way to create a Code Editor app

Hi I am Amr Hesham a Software Engineer, I am interested in Android Development and Compiler Design 😎

Last month when I was creating programming language compilers and interpreters for practice and implement creative ideas, I got an idea to create an Android Calculator app (MathScript) based on a scripting language to represent mathematics operations and functions 🤔.

First, I have worked on the language design to be easy to use with helpful error messages and after implementing it, It’s time to work on the Android app so I need to create a Code Editor for this language with some features to be easy to use.

I have decided that the code editor should have some features to be cool and easy for everyone for examples,

  • Custom Syntax highlighter for my new scripting language.
  • AutoComplete based on any language keywords.
  • Error highlighter to highlight errors and warns.
  • Support multi-theme highlighter and can change the theme in runtime. â—¾ Easy to update the configuration to add any updates for my language.

So how should I create this Code Editor?
I have started searching for any library that can give me the ability to create this editor.

But the problem is that I want a custom needs because it’s my language, not any popular programming language that people supports in their libraries,
and the result of my searching is that no library will give me all that I need.

So I have thought that I should create my library to solve this problem and
make it generic and anyone can customize it for his needs.

And I have created CodeView library, and the goal of it is to make it easy for anyone to create custom Code Editor and to be small and not include configuration for every programming or every theme, so the idea is to give you the kernel and you can customize it as you want.

Demo in Java

It can support any programming language syntax and even you can use it to highlight links, emails, and hashtags like social media editors, you can support auto-complete easily but add your keywords and the library has a default tokenizer and you can change it too 😋, You can support any number of themes and can move between them in the runtime fast and easy, You can support any types of errors highlighter like error, warn, tips…etc, You can implement some cool features that you love for example highlighter TODO, FIX comment like JetBrains editors.

It’s very easy to use, well documented, has many examples on Github you can know how to download and use from the Github link:
https://github.com/amrdeveloper/codeview

and I hope you will enjoy creating your editor with CodeView 😋

Top comments (0)