Skip to content

Commit

Permalink
Dropped support for BSD.
Browse files Browse the repository at this point in the history
It has not been building properly for a while now and will probably take a lot of work given the
recent platform changes.
  • Loading branch information
orbitalquark committed Oct 17, 2022
1 parent 48af63c commit bb14dfe
Show file tree
Hide file tree
Showing 12 changed files with 257 additions and 296 deletions.
21 changes: 10 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ that runs in a desktop environment, and a terminal version that runs within a te

## Requirements

In its bid for minimalism, Textadept depends on very little to run. On Windows and macOS,
it has no external dependencies. On Linux and BSD, the GUI version depends only on [GTK][]
(a cross-platform GUI toolkit), and the terminal version depends only on a wide-character
implementation of curses like [ncurses][](w). Lua and any other third-party dependencies are
compiled into the application itself.
In its bid for minimalism, Textadept depends on very little to run. On Windows and macOS, it has
no external dependencies. On Linux, the GUI version depends only on [GTK][] (a cross-platform
GUI toolkit), and the terminal version depends only on a wide-character implementation of
curses like [ncurses][](w). Lua and any other third-party dependencies are compiled into the
application itself.

[GTK]: https://gtk.org
[ncurses]: https://invisible-island.net/ncurses/ncurses.html
Expand Down Expand Up @@ -69,10 +69,10 @@ complement to Textadept's Manual and exhaustive API documentation.

## Compile

Textadept is a bit unusual in that building it is only supported on Linux and BSD, or within a
[Docker][] [image][]. The application is cross-compiled for Windows and macOS from Linux. While
it is certainly possible to compile Textadept natively on those platforms, it is simply not
supported in any official capacity.
Textadept is a bit unusual in that building it is only supported on Linux, or within a [Docker][]
[image][]. The application is cross-compiled for Windows and macOS from Linux. While it is
certainly possible to compile Textadept natively on those platforms, it is simply not supported
in any official capacity.

Textadept is built from its *src/* directory and binaries are placed in the application's root
directory. The general procedure is to have Textadept build its dependencies first, and then
Expand All @@ -90,8 +90,7 @@ General Requirements:
* _**OR**_
* [Docker][]

The following table provides a brief list of `make` rules for building Textadept on Linux and
BSD. (On BSD, substitute `make` with `gmake`.)
The following table provides a brief list of `make` rules for building Textadept on Linux.

Command | Description
-|-
Expand Down
2 changes: 1 addition & 1 deletion core/file_io.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
-- @field ensure_final_newline (bool)
-- Whether or not to ensure there is a final newline when saving text files.
-- This has no effect on binary files.
-- The default value is `false` on Windows, and `true` on Linux, macOS, and BSD.
-- The default value is `false` on Windows, and `true` on Linux and macOS.
-- @field quick_open_max (number)
-- The maximum number of files listed in the quick open dialog.
-- The default value is `1000`.
Expand Down
4 changes: 1 addition & 3 deletions core/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ end, 1)
-- The path to the user's *~/.textadept/* directory, where all preferences and user-data
-- is stored.
-- On Windows machines *~/* is the value of the "USERHOME" environment variable (typically
-- *C:\Users\username\\* or *C:\Documents and Settings\username\\*). On Linux, BSD, and macOS
-- *C:\Users\username\\* or *C:\Documents and Settings\username\\*). On Linux and macOS
-- machines *~/* is the value of "$HOME" (typically */home/username/* and */Users/username/*
-- respectively).
-- @field _LEXERPATH (string)
Expand All @@ -159,8 +159,6 @@ end, 1)
-- Whether or not Textadept is running on macOS.
-- @field LINUX (bool)
-- Whether or not Textadept is running on Linux.
-- @field BSD (bool)
-- Whether or not Textadept is running on BSD.
-- @field GTK (bool)
-- Whether or not Textadept is running as a GTK GUI application.
-- @field CURSES (bool)
Expand Down
4 changes: 2 additions & 2 deletions core/keys.lua
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ local M = {}
-- ### Key Sequences
--
-- Key sequences are strings built from an ordered combination of modifier keys and the key's
-- inserted character. Modifier keys are "Control", "Shift", and "Alt" on Windows, Linux, BSD,
-- and in the terminal version. On macOS they are "Control" (`^`), "Alt/Option" (`⌥`), "Command"
-- inserted character. Modifier keys are "Control", "Shift", and "Alt" on Windows, Linux, and
-- in the terminal version. On macOS they are "Control" (`^`), "Alt/Option" (`⌥`), "Command"
-- (`⌘`), and "Shift" (`⇧`). These modifiers have the following string representations:
--
-- Modifier | Linux / Win32 | macOS | Terminal
Expand Down
21 changes: 8 additions & 13 deletions docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,6 @@ Extends Lua's _G table to provide extra functions and fields for Textadept.

### Fields defined by `_G`

<a id="BSD"></a>
#### `BSD` (bool)

Whether or not Textadept is running on BSD.

<a id="CURSES"></a>
#### `CURSES` (bool)

Expand Down Expand Up @@ -105,7 +100,7 @@ The Textadept release version string.
The path to the user's *~/.textadept/* directory, where all preferences and user-data
is stored.
On Windows machines *~/* is the value of the "USERHOME" environment variable (typically
*C:\Users\username\\* or *C:\Documents and Settings\username\\*). On Linux, BSD, and macOS
*C:\Users\username\\* or *C:\Documents and Settings\username\\*). On Linux and macOS
machines *~/* is the value of "$HOME" (typically */home/username/* and */Users/username/*
respectively).

Expand Down Expand Up @@ -4272,7 +4267,7 @@ Emitted after opening a file in a new buffer.

Whether or not to ensure there is a final newline when saving text files.
This has no effect on binary files.
The default value is `false` on Windows, and `true` on Linux, macOS, and BSD.
The default value is `false` on Windows, and `true` on Linux and macOS.

<a id="io.quick_open_max"></a>
#### `io.quick_open_max` (number)
Expand Down Expand Up @@ -4456,8 +4451,8 @@ but fall back to word autocompletion if the first command fails.)
### Key Sequences

Key sequences are strings built from an ordered combination of modifier keys and the key's
inserted character. Modifier keys are "Control", "Shift", and "Alt" on Windows, Linux, BSD,
and in the terminal version. On macOS they are "Control" (`^`), "Alt/Option" (``), "Command"
inserted character. Modifier keys are "Control", "Shift", and "Alt" on Windows, Linux, and
in the terminal version. On macOS they are "Control" (`^`), "Alt/Option" (``), "Command"
(``), and "Shift" (``). These modifiers have the following string representations:

Modifier | Linux / Win32 | macOS | Terminal
Expand Down Expand Up @@ -6175,8 +6170,8 @@ to `os.spawn()` will not be called until the stdout buffer is clear.

Parameters:

* *`arg`*: Optional argument similar to those in Lua's `io.read()`, but "n" is not
supported. The default value is "l", which reads a line.
* *`arg`*: Optional argument similar to those in Lua's `io.read()`. The default value is
"l", which reads a line.

Return:

Expand Down Expand Up @@ -6429,7 +6424,7 @@ than an OS-specific pipe can hold may hang Textadept. On Linux, this may be 64K.

Parameters:

* *`command`*: The Linux, BSD, macOS, or Windows shell command to filter text through. May
* *`command`*: The Linux, macOS, or Windows shell command to filter text through. May
contain pipes.

<a id="textadept.editing.goto_line"></a>
Expand Down Expand Up @@ -6702,7 +6697,7 @@ editing commands and movements.

### Key Bindings

Win32, Linux, BSD | macOS | Terminal | Command
Win32 and Linux | macOS | Terminal | Command
-|-|-|-
**File**|||
Ctrl+N | ⌘N | M-^N | New file
Expand Down
4 changes: 2 additions & 2 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Bugfixes:

Changes:

* Dropped BSD support.
* Separated GUI platform C code from non-GUI C code.
* Added `_G.GTK`.
* `_G.OSX` is now always true on macOS, not just in the GUI version.
Expand Down Expand Up @@ -1986,7 +1987,7 @@ Changes:
* Support bracketed paste in the terminal version.
* Allow handling of unknown [CSI events][].
* Added mouse support for buffers and eliminated many [terminal version incompatibilities][].
* Added [`_G.LINUX`][] and [`_G.BSD`][] platform flags for the sake of completeness.
* Added [`_G.LINUX`][] and `_G.BSD` platform flags for the sake of completeness.
* [Rectangular selections][] with the mouse on Linux use the `Alt` modifier key instead of `Super`.
* Display the current working directory in fileselect dialogs.
* Added [`_SCINTILLA.next_image_type()`][] for registering images.
Expand All @@ -2000,7 +2001,6 @@ Changes:
[CSI events]: api.html#events.CSI
[terminal version incompatibilities]: manual.html#terminal-version-compatibility
[`_G.LINUX`]: api.html#LINUX
[`_G.BSD`]: api.html#BSD
[Rectangular selections]: manual.html#rectangular-selection
[`_SCINTILLA.next_image_type()`]: api.html#_SCINTILLA.next_image_type

Expand Down
4 changes: 2 additions & 2 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -126,8 +126,8 @@ <h3>Fast and Minimalist</h3>
<div class="right-col">
<h3>Cross Platform</h3>
<p>
Textadept runs on Windows, macOS, Linux, and BSD. It also has a terminal version,
which is ideal for work on remote machines.
Textadept runs on Windows, macOS and Linux. It also has a terminal version, which
is ideal for work on remote machines.
</p>
<p class="center">
<img src="images/linux.png" alt="Linux" width="45%" height="45%" />&nbsp;&nbsp;
Expand Down
Loading

2 comments on commit bb14dfe

@danfe
Copy link

@danfe danfe commented on bb14dfe Nov 23, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It has not been building properly for a while now

It builds and works just fine on FreeBSD and had been for a while. But thanks for removing those needless gimmicks from the Makefile in 1217c08, they were just getting in the way. :-)

@orbitalquark
Copy link
Owner Author

@orbitalquark orbitalquark commented on bb14dfe Dec 30, 2022 via email

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.