BowPad is an open source programmer-friendly text editor with a ribbon interface


Looking for a text editor that has a ribbon interface? BowPad has a nice one, offers all the features you could possibly want, and is programmer-friendly.

BowPad is an open source programmer-friendly text editor with a ribbon interface

The program displays a sidebar on the left; this is the file tree that you can use to browse for folders. If the selected folder has documents in it, they can be opened from the sidebar by double-clicking on files.

The large pane to the right of the sidebar is BowPad’s text editor area. It uses a line/paragraph indicator box which makes it easy to type when working with long documents. The application supports syntax highlighting for over a 100 file types (refer to the list at the end of the article). Documents are opened in tabs like a web browser.

BowPad context menu

Right-click in the editor to access its context menu. It can be used for undo/redo, using the built-in Spell Checker tool, perform an online search (uses Bing and Wikipedia). You may change the case of characters from lowercase, to uppercase or title case. The toolbar at the top has a ribbon interface, which is quite similar to Open Live Writer than Microsoft Word. BowPad has three tabs on the ribbon: File, Main and Other.

The main tab has basic tools like undo, redo, find and replace. The goto section is handy for switching between tabs or to navigate to a specific line in a document. Bookmarks can be added anywhere in a file for quick access. The Run command opens the selected document in Edge, Firefox, Chrome, Safari, or IE. You may use the CMD button’s menu to perform an online search, open the current folder’s location in Explorer, or open a command console. If you had multiple documents open when exiting the program, hit the “Load Session” option to can reload them all with one click.

If you’re a programmer, you can use it to configure up to 10 custom commands that can be executed from the menu. Speaking of which, the Code section has another set of programmer-friendly options including functions, open corresponding file, go to symbol, add/remove comments or to use the Lexer. The Other Operations part of the ribbon contains options to change the case, toggle line wrapping, line endings, duplicate/move/split/join lines and trim whitespaces.

The quick access toolbar is displayed on the title bar. Click the caret icon to customize it. The default options that are enabled are: Open, Save, Tabs. You can add Close Tab, New, Find/Replace and Lexer to this toolbar. Optionally, the quick access bar can be displayed below the ribbon.

BowPad’s File tab houses options to open, save, and print documents. The Summary window displays some useful stats such as the word count, number of lines, empty lines and paragraphs. The application can save text files in these document formats. TXT, LOG, LST, DOC, DIZ, NFO. The program supports many keyboard shortcuts that you can customize, it uses a Shortcuts.INI file for storing the settings, and you may edit it directly using the editor.

BowPad syntax

You can also use BowPad to save your text/code in the following formats.

Abaqus file (*.inp;*.dat;*.msg)
Ada file (*.ada;*.adb)
Apache Conf file (*.conf;*.htaccess)
ASN1 file (*.asn1;*.mib)
Assembler file (*.asm)
AutoIt3 file (*.au3)
Ave file (*.ave)
AviSynth file (*.avs;*.avsi)
Baan file (*.bc;*.cln)
Bash file (*.sh;*.bsh;*.configure;*.ksh;*.bash;*.bashrc;*.sh_once;*.zsh;*.zshrc)
Batch file (*.bat;*.cmd;*.nt)
Blitzbasic file (*.bb)
Bullant file (*.ant)
C Sharp file (*.cs)
C/C++ file (*.c;*.cc;*.cpp;*.cxx;*.h;*.hh;*.hpp;*.hxx;*.ipp;*.m;*.mm;*.sma;*.ispc;*.isph)
Ch file (*.ch;*.chf;*.chs)
CMake file (*.cmake;*.ctest)
Cobol file (*.cob)
CoffeeScript file (*.coffee)
Common Language Infrastructure file (*.il;*.ilasm)
CSound file (*.orc;*.sco;*.csd)
CSS file (*.css;*.qss)
D file (*.d)
DataFlex file (*.src;*.vw;*.dg;*.sl;*.pkg;*.bp;*.inc;*.dd;*.h;*.rv;*.wo;*.prn)
Diff file (*.diff;*.patch)
DMAP file (*.bdy;*.nam)
DMIS file (*.nom)
DocBook file (*.docbook)
E-Script file (*.em;*.src)
ECL file (*.ecl;*.eclattr;*.hql)
EDIFact file (*.edi)
Eiffel file (*.e)
Erlang file (*.erl;*.hrl)
Errorlist file (*.err)
Flagship file (*.prg)
Flash file (*.as;*.asc;*.jsfl)
Forth file (*.forth;*.f;*.spf)
Fortran file (*.f;*.f90;*.for;*.90;*.f95;*.f2k;*.app;*.apl)
Fortran77 file (*.f;*.for;*.90;*.f95;*.f2k;*.app;*.apl)
Freebasic file (*.bas;*.bi)
Gap file (*.g;*.gd;*.gi)
GetText file (*.po;*.pot)
Go file (*.go)
Gui4Cli file (*.gui;*.gc)
Haskell file (*.hs)
HEX Intel file (*.hex)
HEX S-Record file (*.mot;*.srec)
HEX Tektronix file (*.tek)
Hollywood file (*.hws)
Html file (*.html;*.htm;*.asp;*.shtml;*.htd;*.jsp;*.htt;*.cfm;*.tpl;*.dtd;*.hta)
IDL file (*.idl;*.odl)
InnoSetup file (*.iss;*.isl)
Java file (*.java;*.jad;*.pde)
Java-fx file (*.fx)
JavaScript file (*.js;*.es;*.bpj)
JSON file (*.json;*.eshintrc;*.jshintrc;*.jsonld)
Kix file (*.kix)
KVIrc file (*.kvs)
Latex file (*.tex;*.sty;*.aux;*.toc;*.idx;*.tui;*.tuo)
Lisp file (*.lisp;*.lsp;*.el)
Lout file (*.lt)
Lua file (*.lua)
Makefile file (*.mak;*.mk;*.configure)
Mako file (*.mak;*.mako)
Markdown file (*.mkdn;*.mkd;*.md)
Matlab file (*.m;*.octave)
Maxima file (*.wxm;*.mac)
MetaPost file (*.mp;*.mpx)
MMix Assembler file (*.mms)
Modula file (*.m3;*.i3;*.mg;*.ig)
MPT Log file (*.lot)
Nant file (*.build)
Nim file (*.nim)
NNCronTab file (*.tab;*.spf)
NSIS file (*.nsi;*.nsh)
Ojective Caml file (*.ml;*.mli;*.sml)
Opal file (*.impl;*.sign)
OScript file (*.osx)
Pascal file (*.dpr;*.dpk;*.pas;*.dfm;*.inc;*.pp)
Perl file (*.pl;*.pm;*.pod)
PHP file (*.php3;*.phtml;*.php)
Pike file (*.pike)
PLSQL file (*.spec;*.body;*.sps;*.spb;*.sf;*.sp)
PostScript file (*.ps)
POV file (*.pov;*.inc)
PowerPro file (*.powerpro)
Powershell file (*.ps1)
Properties file (*.properties;*.session;*.ini;*.inf;*.url;*.cfg;*.cnf;*.aut;*.editorconfig)
Purebasic file (*.pb)
Python file (*.py;*.pyw)
R file (*.r)
Raku file (*.p6;*.pm6;*.pod6;*.t6;*.raku;*.rakumod;*.rakudoc;*.rakutest)
Rebol file (*.r;*.reb)
Registry file (*.reg;*.registry)
Resource File file (*.rc;*.rc2;*.dlg)
Ruby file (*.rb;*.rbw;*.rake;*.rjs;*.rakefile;*.irbrc)
Rust file (*.rs)
SAS file (*.dta)
Scriptol file (*.sol)
Sliktest file (*.pln;*.inc;*.t)
Smalltalk file (*.st)
Sorcus file (*.ins)
Specman file (*.e)
Spice file (*.als;*.cir;*.sch;*.scp)
SQL file (*.sql)
Stata file (*.stata;*.dta)
Structured Text file (*.st;*.il)
TACL file (*.tacl)
Tal file (*.tal)
TCL file (*.tcl;*.exp)
Txt2Tags file (*.t2t)
Vala file (*.vala)
Verilog file (*.v;*.vh)
VHDL file (*.vhdl;*.vhd)
Visual Basic file (*.vb;*..bas;*.frm;*.cls;*.ctl;*.pag;*.dsr;*.dob;*.vbs;*.dsm;*.bpv)
Visual Prolog file (*.pro)
Vxml file (*.vxml)
Wix file (*.wxs;*.wxi;*.wxl)
X12 file (*.x12)
Xaml file (*.xaml)
Xml file (*.xml;*.xsl;*.svg;*.xul;*.xsd;*.dtd;*.xslt;*.axl;*.xrc;*.rdf;*.manifest;*.vcprojx;*.vsprops;*.user;*.filters;*.resx;*.nuspec;*.ui)
YAML file (*.yaml;*.yml)

Toggle the file tree, line numbers from the “Other” Tab in the ribbon. This is where you can set the tab size, right margin, the font style for various languages. The program has a rather nice dark theme that you can switch to.

BowPad dark theme

BowPad supports plugins written in JavaScript and VBScript. Clicking the Configure option (under the plugins section) fetches 2 plugins that allows you to disable Clear Type, and enable sorting of lines.

Portable versions of the program are available for 32-bit and 64-bit systems. BowPad is an open source project. The application’s installers are just under 2MB, and the directory sums up to about 5.71MB post the installation. The text editor is light on resources, and I didn’t face a single issue with it.

Thank you for being a Ghacks reader. The post BowPad is an open source programmer-friendly text editor with a ribbon interface appeared first on gHacks Technology News.

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.