Functions to parse commands in a config file. More...
#include "config.h"
#include <errno.h>
#include <limits.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "mutt/lib.h"
#include "address/lib.h"
#include "config/lib.h"
#include "email/lib.h"
#include "core/lib.h"
#include "alias/lib.h"
#include "gui/lib.h"
#include "mutt.h"
#include "commands.h"
#include "attach/lib.h"
#include "color/lib.h"
#include "imap/lib.h"
#include "key/lib.h"
#include "menu/lib.h"
#include "pager/lib.h"
#include "parse/lib.h"
#include "store/lib.h"
#include "alternates.h"
#include "globals.h"
#include "muttlib.h"
#include "mx.h"
#include "score.h"
#include "version.h"
#include "monitor.h"
#include <libintl.h>
Go to the source code of this file.
Macros | |
#define | MAX_ERRS 128 |
Enumerations | |
enum | TriBool { TB_UNSET = -1 , TB_FALSE , TB_TRUE } |
Tri-state boolean. More... | |
enum | GroupState { GS_NONE , GS_RX , GS_ADDR } |
Type of email address group. More... | |
Functions | |
static bool | is_function (const char *name) |
Is the argument a neomutt function? | |
int | parse_grouplist (struct GroupList *gl, struct Buffer *buf, struct Buffer *s, struct Buffer *err) |
Parse a group context. | |
enum CommandResult | parse_rc_line_cwd (const char *line, char *cwd, struct Buffer *err) |
Parse and run a muttrc line in a relative directory. | |
char * | mutt_get_sourced_cwd (void) |
Get the current file path that is being parsed. | |
int | source_rc (const char *rcfile_path, struct Buffer *err) |
Read an initialization file. | |
static enum CommandResult | parse_cd (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'cd' command - Implements Command::parse() -. | |
static enum CommandResult | parse_echo (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'echo' command - Implements Command::parse() -. | |
static enum CommandResult | parse_finish (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'finish' command - Implements Command::parse() -. | |
static enum CommandResult | parse_group (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'group' and 'ungroup' commands - Implements Command::parse() -. | |
static enum CommandResult | parse_ifdef (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'ifdef' and 'ifndef' commands - Implements Command::parse() -. | |
static enum CommandResult | parse_ignore (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'ignore' command - Implements Command::parse() -. | |
static enum CommandResult | parse_lists (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'lists' command - Implements Command::parse() -. | |
static enum CommandResult | mailbox_add (const char *folder, const char *mailbox, const char *label, enum TriBool poll, enum TriBool notify, struct Buffer *err) |
Add a new Mailbox. | |
enum CommandResult | parse_mailboxes (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'mailboxes' command - Implements Command::parse() -. | |
enum CommandResult | parse_my_hdr (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'my_hdr' command - Implements Command::parse() -. | |
enum CommandResult | set_dump (ConfigDumpFlags flags, struct Buffer *err) |
Dump list of config variables into a file/pager. | |
static int | envlist_sort (const void *a, const void *b, void *sdata) |
Compare two environment strings - Implements sort_t -. | |
static enum CommandResult | parse_setenv (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'setenv' and 'unsetenv' commands - Implements Command::parse() -. | |
static enum CommandResult | parse_source (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'source' command - Implements Command::parse() -. | |
static enum CommandResult | parse_nospam (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'nospam' command - Implements Command::parse() -. | |
static enum CommandResult | parse_spam (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'spam' command - Implements Command::parse() -. | |
static enum CommandResult | parse_stailq (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse a list command - Implements Command::parse() -. | |
static enum CommandResult | parse_subscribe (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'subscribe' command - Implements Command::parse() -. | |
enum CommandResult | parse_subscribe_to (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'subscribe-to' command - Implements Command::parse() -. | |
static enum CommandResult | parse_tag_formats (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'tag-formats' command - Implements Command::parse() -. | |
static enum CommandResult | parse_tag_transforms (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'tag-transforms' command - Implements Command::parse() -. | |
static enum CommandResult | parse_unignore (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unignore' command - Implements Command::parse() -. | |
static enum CommandResult | parse_unlists (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unlists' command - Implements Command::parse() -. | |
static void | do_unmailboxes (struct Mailbox *m) |
Remove a Mailbox from the Sidebar/notifications. | |
static void | do_unmailboxes_star (void) |
Remove all Mailboxes from the Sidebar/notifications. | |
enum CommandResult | parse_unmailboxes (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unmailboxes' command - Implements Command::parse() -. | |
static enum CommandResult | parse_unmy_hdr (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unmy_hdr' command - Implements Command::parse() -. | |
static enum CommandResult | parse_unstailq (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse an unlist command - Implements Command::parse() -. | |
static enum CommandResult | parse_unsubscribe (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unsubscribe' command - Implements Command::parse() -. | |
enum CommandResult | parse_unsubscribe_from (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'unsubscribe-from' command - Implements Command::parse() -. | |
static enum CommandResult | parse_version (struct Buffer *buf, struct Buffer *s, intptr_t data, struct Buffer *err) |
Parse the 'version' command - Implements Command::parse() -. | |
void | source_stack_cleanup (void) |
Free memory from the stack used for the source command. | |
void | commands_init (void) |
Initialize commands array and register default commands. | |
Variables | |
static struct ListHead | MuttrcStack = STAILQ_HEAD_INITIALIZER(MuttrcStack) |
LIFO designed to contain the list of config files that have been sourced and avoid cyclic sourcing. | |
static const struct Command | MuttCommands [] |
General NeoMutt Commands. | |
Functions to parse commands in a config file.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
Definition in file commands.c.
#define MAX_ERRS 128 |
Definition at line 72 of file commands.c.
enum TriBool |
Tri-state boolean.
Enumerator | |
---|---|
TB_UNSET | Value hasn't been set. |
TB_FALSE | Value is false. |
TB_TRUE | Value is true. |
Definition at line 77 of file commands.c.
enum GroupState |
|
static |
Is the argument a neomutt function?
name | Command name to be searched for |
true | Function found |
false | Function not found |
Definition at line 100 of file commands.c.
int parse_grouplist | ( | struct GroupList * | gl, |
struct Buffer * | buf, | ||
struct Buffer * | s, | ||
struct Buffer * | err | ||
) |
Parse a group context.
gl | GroupList to add to |
buf | Temporary Buffer space |
s | Buffer containing string to be parsed |
err | Buffer for error messages |
0 | Success |
-1 | Error |
Definition at line 124 of file commands.c.
enum CommandResult parse_rc_line_cwd | ( | const char * | line, |
char * | cwd, | ||
struct Buffer * | err | ||
) |
Parse and run a muttrc line in a relative directory.
line | Line to be parsed |
cwd | File relative where to run the line |
err | Where to write error messages |
CommandResult | Result e.g. MUTT_CMD_SUCCESS |
Definition at line 158 of file commands.c.
char * mutt_get_sourced_cwd | ( | void | ) |
Get the current file path that is being parsed.
ptr | File path that is being parsed or cwd at runtime |
Definition at line 178 of file commands.c.
int source_rc | ( | const char * | rcfile_path, |
struct Buffer * | err | ||
) |
Read an initialization file.
rcfile_path | Path to initialization file |
err | Buffer for error messages |
<0 | NeoMutt should pause to let the user know |
Definition at line 199 of file commands.c.
|
static |
Add a new Mailbox.
Definition at line 609 of file commands.c.
enum CommandResult set_dump | ( | ConfigDumpFlags | flags, |
struct Buffer * | err | ||
) |
Dump list of config variables into a file/pager.
flags | what configs to dump: see ConfigDumpFlags |
err | buffer for error message |
FIXME: Move me into parse/set.c. Note: this function currently depends on pager, which is the reason it is not included in the parse library.
Definition at line 847 of file commands.c.
|
static |
Remove a Mailbox from the Sidebar/notifications.
m | Mailbox to unmailboxes |
Definition at line 1374 of file commands.c.
|
static |
Remove all Mailboxes from the Sidebar/notifications.
Definition at line 1398 of file commands.c.
void source_stack_cleanup | ( | void | ) |
Free memory from the stack used for the source command.
Definition at line 1621 of file commands.c.
void commands_init | ( | void | ) |
Initialize commands array and register default commands.
Definition at line 1697 of file commands.c.
|
static |
LIFO designed to contain the list of config files that have been sourced and avoid cyclic sourcing.
Definition at line 70 of file commands.c.
|
static |
General NeoMutt Commands.
Definition at line 1629 of file commands.c.