• Stars
    star
    943
  • Rank 48,473 (Top 1.0 %)
  • Language
    Lua
  • Created over 9 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A word processor which gets the hell out of your way and lets you get some work done.
                               WORDGRINDER V0.9
                               ================

                           © 2007-2022 David Given
                                 2022-11-07

                                Unix version


INTRODUCTION
============

WordGrinder is a simple, Unicode-aware word processor that runs on the
console. It's designed to get the hell out of your way and let you write;
it does very little, but what it does it does well.

It supports basic paragraph styles, basic character styles, basic screen
markup, a menu interface that means you don't have to remember complex
key sequences, HTML import and export, and some other useful features.

WordGrinder does not require a GUI. It can run in a terminal. (But there are GUI
versions for Unixishes, Windows and OSX if you want them.)



INSTALLATION
============

WordGrinder needs the following packages installed:

 - ninja, the build tool. This is available from:
     https://ninja-build.org/

 - ncursesw, the wide-character version of curses. This is supplied with
   most systems.

 - an OpenGL/GLFW development kit (if you want the OpenGL frontend).  This is
   supplied with most systems.

 - zlib. You will already have this, but just on the offchance, it's here:
     http://www.zlib.net/

 - a terminal emulator that supports UTF-8. gnome-terminal, konsole, xterm
   and rxvt-unicode do. rxvt and the Linux console don't (unless you use
   jfbterm). You will also need a decent set of Unicode fonts or WordGrinder
   will look funny.

Chances are you already have these in your distribution. Merely install these
packages:

  If you have Debian/Ubuntu:
    ninja-build libncursesw5-dev zlib1g-dev libglfw3-dev

  If you have Fedora:
	zlib-devel libglfw-devel ncurses ncurses-devel ninja-build

  If you have OSX with Homebrew:
    ninja pkg-config glfw

To detect a sensible configuration and build, simply do:

    make

To install into your home directory, do:

    sudo make install

If you want to install somewhere else, do:

	PREFIX=/usr/local ./configure
	make install

(Change PREFIX to whatever you like; naturally, if you're not installing in a
global location, you don't need sudo.)

(There are various other poorly-documented configuration options in the
configure script.)

It is now ready to use.

Special note for compilation on Windows: do 'make' from MSYS2 with the Mingw64
toolchain and nsis installed.  use Cygwin. You'll end up with the installer
package in bin/.



USAGE
=====

Do this:

    wordgrinder

...to get a blank document. You can load an existing document with:

    wordgrinder README.wg

Please read README.wg; it contains the manual. There is also a man page,
which describes the command line interface.


If you use WordGrinder, please join the mailing list. This will allow you
to ask questions, hopefully receive answers, and get news about any
new releases. You can subscribe or view the archives at the following page:

    https://lists.sourceforge.net/lists/listinfo/wordgrinder-users



LICENSE
=======

WordGrinder contains a number of embedded libraries, described here. Not all of
them may be used by any given binary depending on your configuration. Please
look in the `third_party` directory for the full license text.

WordGrinder is © 2007-2020 David Given, and is available under the MIT license.

The distribution contains a copy of Luau. This is also MIT licensed and is ©
2019-2022 Roblox Corporation and © 1994-2019 Lua.org, PUC-Rio. See
http://luau-lang.org and http://lua.org for more information.

The distribution contains a copy of the MiniZip library. This is © 1998-2010
Gilles Vollant and Mathis Svenson, and is available under the BSD license.

The distribution contains a copy of the SCOWL wordlist for British and
American-Canadian English. This is © Kevin Atkinson and J. Ross Beresford.
Please see the licenses/COPYING.Scowl file for the full license text.

The distribution contains a copy of the xpattern module. This is also MIT
licensed and is © 2008-2009 David Manura. See
http://lua-users.org/wiki/ExPattern for more information.

The distribution contains a copy of the LargeLineHeight-NoLoopK version of the
Fantasque Sans Mono font family. This is distributable under the terms of the
Open Font License 1.1 © 2013-2017 Jany Belluz. See
https://github.com/belluzj/fantasque-sans for more information.

The distribution contains parts of the libstb utility library, written by
Sean T Barrett et al. This is public domain where possible and MIT licensed
otherwise. Please see https://github.com/nothings/stb/blob/master/LICENSE
for more information.

The distribution contains most of the clip clipboard library, written by David
Capello. This is MIT licensed and is © 2015-2022 David Capello. Please see
https://github.com/dacap/clip for more information.



REVISION HISTORY
================

WordGrinder 0.9: 2021-XX-XX: threw away the X11 and Windows GDI frontends and
replaced them with OpenGL --- there's now a GUI version for OSX! New shiny
colour scheme and ruler layout kindly contributed by Pacrox. Also threw away and
replaced the build.lua file with something even worse. Added the ability to quit
WordGrinder by closing the window. Fixed a bug where the global settings would
be reset during CLI use.  WordGrinder files with CRLF line endings can now be
read. Emacs orgmode export (contributed by VitorGoatman@github). ESCAPE can be
used to cancel things. Both TAB and ^I can be used for autocompletion in file
dialogues. Miscellaneous editor state machine bugfixes. Multiple scroll modes.
Changed the cursor shape for visibility. Use the system clipboard where
possible. Added mouse support. Switch interpreters from Lua to Luau, and
refactor _all_ the code to be type safe in strict mode, finding and fixing so
many minor bugs along the way. The document index is now written to files
correctly.

WordGrinder 0.8: 2020-10-13: started out as a bugfix release but then I got
carried away. New features: a paragraph style for numbered bulletpoints; more
look-and-feel options; the caret now flashes; basic template support; word
count display of selected text; custom autosave directory; autocompletion in
file dialogues; Windows console version; recent documents list; Markdown
import. Bugfixes: lots of import and export fixes (and tests so that they stay
fixed); spellchecker fixes; selection position fixes; keyboard entry fixes on
Windows; graphics fixes on Windows; filesystem fixes on Windows; assorted other
minor tweaks.

WordGrinder 0.7.2: 2018-11-29: bugfix release. Pasting immediately after
loading a document no longer hard crashes. Don't buffer overrun if given
invalid unicode. Global settings are now updated correctly (in several
places). Fix a data loss situation when saving fails.

WordGrinder 0.7.1: 2017-11-02: correct and cleaner license reporting;
rearrange the source so that we can avoid shipping upstream dependencies
if we want. No actual code changes.

WordGrinder 0.7: 2017-10-30: new plain text diffable file format; Lua 5.3
support; better locale detection; dense paragraphs mode; lots of bugfixes.
Official OSX support. New (better, hopefully) build system.

WordGrinder 0.6: 2015-04-18: New X11 frontend (actual bold and italic on
Linux machines!); shift+cursor keys starts a selection; more HTML emission
fixes; non-document persistent settings; global key maps (currently via a
configurationfile); search works properly across words with markup; italic
display in a terminal (if you have a new enough version of ncurses); more
traditional charstyle selection (you can press ^B at the beginning of words
now!); more traditional selection model (shift+cursor keys works now!); fix
crash on loading very large .wg files; smart quote support; more efficient
files; undo and redo; spellchecker; colour configuration on X11 and Windows;
MarkDown export.

WordGrinder 0.5.2.1: 2015-02-21: Minor bugfixes: build system fixes; updated
minizip to a version which builds better on Ubuntu; OSX Homebrew build system;
delete word; subsection counts now correct; HTML PRE emission issue corrected.

WordGrinder 0.5.1: 2013-12-08: Major overhaul: fixed hideous file corruption
bug; much improved Windows text renderer; bold; page count; widescreen mode;
UI style overhaul; many other minor bugfixes. Many thanks to Connor Karatzas
for extensive Windows testing.

WordGrinder 0.4.1: 2013-04-14: Minor bugfixes and build optimisation in aid
of the Debian package.

WordGrinder 0.4: 2013-03-24: Major overhaul: OpenDocument import/export,
new much smaller file format, a proper Windows port, updated to Lua 5.2,
switched away from Prime Mover to make (sob), much bug fixage.

WordGrinder 0.3.3: 2009-12-13: Fixed a bug when searching for or replacing
strings containing multiple whitespace characters (that was triggering the
crash handler). Thanks to lostnbronx for the report. Added RAW and PRE
paragraph styles. Cleaned up HTML import. Add customisability to HTML export.
Relicensed to MIT.

WordGrinder 0.3.2: 2008-11-03: Fixed a very simple and very stupid typo that
caused a crash if you tried to turn autosave on. Added a simple exception
handler to try and prevent data loss on error in the future.

WordGrinder 0.3.1: 2008-09-08: Minor bugfix revision to correct a few minor
but really embarrassing crashes problems in 0.3: no crash on HTML import, no
crash on File->New. Also some minor cosmetic fixes I noticed while doing the
work.

WordGrinder 0.3: 2008-09-07: Lots more bug fixes. Added LaTeX export; troff
export; next/previous word/character; table of contents; autosave; scrapbook;
Windows console port. Fixed some issues with key binding. Lua bytecode is now
embedded in the executable, making it self contained. --lua option. General
overhaulage.

WordGrinder 0.2: 2008-01-13: Lots of bug fixes. Added word count. Added about
dialogue.

WordGrinder 0.1: 2007-10-14: Initial release.



THE AUTHOR
==========

WordGrinder was written by me, David Given. You may contact me at
[email protected], or visit my website at http://www.cowlark.com. There may or
may not be anything interesting there.

More Repositories

1

ack

The Amsterdam Compiler Kit
C
420
star
2

fluxengine

PSOC5 floppy disk imaging interface
C++
352
star
3

cpmish

An open source sort-of CP/M 2.2 distribution.
Assembly
346
star
4

cpm65

CP/M for the 6502
Assembly
266
star
5

cowgol

A self-hosted Ada-inspired programming language for very small systems.
C
238
star
6

clue

An experimental C to Javascript/Lua/Perl5/Lisp/Java compiler
C
144
star
7

minix2

Minix 1 and 2, Quick and Dirty editions
C
117
star
8

typetalk

A SmallTalk like live coding system running in the browser, based on TypeScript.
TypeScript
65
star
9

luje

a Java virtual machine written in pure Lua
Java
61
star
10

fforth

A small, portable Forth written in Posix C
C
44
star
11

LBW

Experimental tool for running Linux binaries on Windows
C++
39
star
12

telinkdebugger

A Raspberry Pi Pico-based debugger bridge for the Telink SWS debug protocol.
C++
22
star
13

pcemu

A software 8086 PC emulator.
PostScript
19
star
14

polf

A toy
Assembly
17
star
15

piface

Bare metal boot loader for the Raspberry Pi's VideoCore processor (no ARM!)
C
12
star
16

narcissus

A chording keyboard tool for X
C
11
star
17

cowjac

An experimental Java bytecode to C++ transpiler
Java
10
star
18

jpegfinder

A simple tool for scraping jpeg frames from files. Suitable for recovering corrupted MJPEG files. I'm looking at you, Hubsan.
C
10
star
19

glueesp

A port of the Geoworks Glue DOS linker.
C
10
star
20

ibm6770keyboard

A USB interface for the IBM 6770/6780 keyboard.
C++
9
star
21

cowbel

An experimental programming language
xBase
8
star
22

btracker

A chiptracker editor and player for the BBC Micro.
Assembly
8
star
23

calculon

A very small, fast shader language using LLVM.
C++
8
star
24

bogomandel

A silly toy Mandelbrot program for the BBC Micro.
Assembly
7
star
25

dso152-breakout

Breakout for the Fnirsi DSO152
C++
7
star
26

plmc

A compiler for PL/M targeting LLVM bitcode.
Yacc
6
star
27

dbztool

A command line tool for accessing the bootstrap protocol on Dragonball CPUs.
C++
5
star
28

gcc-vc4

An experimental port of gcc 4.8.1 to the VideoCore IV.
C
5
star
29

gruntle

A text-based CYO MMORPG engine
HTML
4
star
30

cshell

A very simple command line shell for the Commodore 64.
Assembly
4
star
31

qemu-z80

Z80 support for qemu
C
4
star
32

bterm

Firmware/hardware to use a Brother WP-1 word processor as a serial terminal
Assembly
4
star
33

vtech6502

A collection of data about the internals of various VTech 6502-based toys.
4
star
34

cparser

C
4
star
35

maxii-keyboard

PSoC5 firmware to for an ancient MAX-II industrial keyboard
C
4
star
36

libfirm

C
3
star
37

spey

A spam-filtering SMTP proxy using greylisting
Shell
3
star
38

comal65

A Comal interpreter for the 6502
Assembly
3
star
39

stellation

A web based real time space warfare RTS.
Shell
2
star
40

vimutti

Tool for decrypting Buddha Machine flash images.
C
2
star
41

pblq

Amstrad eMailer PBL boot loader client
Shell
2
star
42

objective-lua

A dialect of Lua extended with syntax borrowed from Objective C to add object orientation support.
Lua
1
star
43

ebooksyncer

A tiny tool for syncing (and decrypting) eink Kindle books from the device to a directory for backup.
1
star
44

flooded-moon

The moon, like you've never seen it before.
POV-Ray SDL
1
star
45

uboot-pw1

Customised uboot for Kindle Paperwhite gen 1 devices.
C
1
star
46

bmdkey

Python
1
star
47

sdcc

Patched sdcc for Fuzix
C
1
star
48

fluxengine-testdata

Test data for the FluxEngine project.
1
star
49

ab

Yet Another Build Generator
Python
1
star
50

fgit

Tools for using Fossil as a git client.
Shell
1
star