diff options
Diffstat (limited to 'lib/wrappers/readline/history.nim')
-rwxr-xr-x | lib/wrappers/readline/history.nim | 277 |
1 files changed, 0 insertions, 277 deletions
diff --git a/lib/wrappers/readline/history.nim b/lib/wrappers/readline/history.nim deleted file mode 100755 index 12dfa2707..000000000 --- a/lib/wrappers/readline/history.nim +++ /dev/null @@ -1,277 +0,0 @@ -# history.h -- the names of functions that you can call in history. -# Copyright (C) 1989-2009 Free Software Foundation, Inc. -# -# This file contains the GNU History Library (History), a set of -# routines for managing the text of previously typed lines. -# -# History is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# History 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 History. If not, see <http://www.gnu.org/licenses/>. -# - -{.deadCodeElim: on.} - -import readline - -const - historyDll = readlineDll - -import times, rltypedefs - -type - Thistdata* = pointer - -# The structure used to store a history entry. - -type - THIST_ENTRY*{.pure, final.} = object - line*: cstring - timestamp*: cstring # char * rather than time_t for read/write - data*: Thistdata - - -# Size of the history-library-managed space in history entry HS. - -template HISTENT_BYTES*(hs: expr): expr = - (strlen(hs.line) + strlen(hs.timestamp)) - -# A structure used to pass the current state of the history stuff around. - -type - THISTORY_STATE*{.pure, final.} = object - entries*: ptr ptr THIST_ENTRY # Pointer to the entries themselves. - offset*: cint # The location pointer within this array. - length*: cint # Number of elements within this array. - size*: cint # Number of slots allocated to this array. - flags*: cint - - -# Flag values for the `flags' member of HISTORY_STATE. - -const - HS_STIFLED* = 0x00000001 - -# Initialization and state management. -# Begin a session in which the history functions might be used. This -# just initializes the interactive variables. - -proc using_history*(){.cdecl, importc: "using_history", dynlib: historyDll.} -# Return the current HISTORY_STATE of the history. - -proc history_get_history_state*(): ptr THISTORY_STATE{.cdecl, - importc: "history_get_history_state", dynlib: historyDll.} -# Set the state of the current history array to STATE. - -proc history_set_history_state*(a2: ptr THISTORY_STATE){.cdecl, - importc: "history_set_history_state", dynlib: historyDll.} -# Manage the history list. -# Place STRING at the end of the history list. -# The associated data field (if any) is set to NULL. - -proc add_history*(a2: cstring){.cdecl, importc: "add_history", - dynlib: historyDll.} -# Change the timestamp associated with the most recent history entry to -# STRING. - -proc add_history_time*(a2: cstring){.cdecl, importc: "add_history_time", - dynlib: historyDll.} -# A reasonably useless function, only here for completeness. WHICH -# is the magic number that tells us which element to delete. The -# elements are numbered from 0. - -proc remove_history*(a2: cint): ptr THIST_ENTRY{.cdecl, - importc: "remove_history", dynlib: historyDll.} -# Free the history entry H and return any application-specific data -# associated with it. - -proc free_history_entry*(a2: ptr THIST_ENTRY): Thistdata{.cdecl, - importc: "free_history_entry", dynlib: historyDll.} -# Make the history entry at WHICH have LINE and DATA. This returns -# the old entry so you can dispose of the data. In the case of an -# invalid WHICH, a NULL pointer is returned. - -proc replace_history_entry*(a2: cint, a3: cstring, a4: Thistdata): ptr THIST_ENTRY{. - cdecl, importc: "replace_history_entry", dynlib: historyDll.} -# Clear the history list and start over. - -proc clear_history*(){.cdecl, importc: "clear_history", dynlib: historyDll.} -# Stifle the history list, remembering only MAX number of entries. - -proc stifle_history*(a2: cint){.cdecl, importc: "stifle_history", - dynlib: historyDll.} -# Stop stifling the history. This returns the previous amount the -# history was stifled by. The value is positive if the history was -# stifled, negative if it wasn't. - -proc unstifle_history*(): cint{.cdecl, importc: "unstifle_history", - dynlib: historyDll.} -# Return 1 if the history is stifled, 0 if it is not. - -proc history_is_stifled*(): cint{.cdecl, importc: "history_is_stifled", - dynlib: historyDll.} -# Information about the history list. -# Return a NULL terminated array of HIST_ENTRY which is the current input -# history. Element 0 of this list is the beginning of time. If there -# is no history, return NULL. - -proc history_list*(): ptr ptr THIST_ENTRY{.cdecl, importc: "history_list", - dynlib: historyDll.} -# Returns the number which says what history element we are now -# looking at. - -proc where_history*(): cint{.cdecl, importc: "where_history", dynlib: historyDll.} -# Return the history entry at the current position, as determined by -# history_offset. If there is no entry there, return a NULL pointer. - -proc current_history*(): ptr THIST_ENTRY{.cdecl, importc: "current_history", - dynlib: historyDll.} -# Return the history entry which is logically at OFFSET in the history -# array. OFFSET is relative to history_base. - -proc history_get*(a2: cint): ptr THIST_ENTRY{.cdecl, importc: "history_get", - dynlib: historyDll.} -# Return the timestamp associated with the HIST_ENTRY * passed as an -# argument - -proc history_get_time*(a2: ptr THIST_ENTRY): TTime{.cdecl, - importc: "history_get_time", dynlib: historyDll.} -# Return the number of bytes that the primary history entries are using. -# This just adds up the lengths of the_history->lines. - -proc history_total_bytes*(): cint{.cdecl, importc: "history_total_bytes", - dynlib: historyDll.} -# Moving around the history list. -# Set the position in the history list to POS. - -proc history_set_pos*(a2: cint): cint{.cdecl, importc: "history_set_pos", - dynlib: historyDll.} -# Back up history_offset to the previous history entry, and return -# a pointer to that entry. If there is no previous entry, return -# a NULL pointer. - -proc previous_history*(): ptr THIST_ENTRY{.cdecl, importc: "previous_history", - dynlib: historyDll.} -# Move history_offset forward to the next item in the input_history, -# and return the a pointer to that entry. If there is no next entry, -# return a NULL pointer. - -proc next_history*(): ptr THIST_ENTRY{.cdecl, importc: "next_history", - dynlib: historyDll.} -# Searching the history list. -# Search the history for STRING, starting at history_offset. -# If DIRECTION < 0, then the search is through previous entries, -# else through subsequent. If the string is found, then -# current_history () is the history entry, and the value of this function -# is the offset in the line of that history entry that the string was -# found in. Otherwise, nothing is changed, and a -1 is returned. - -proc history_search*(a2: cstring, a3: cint): cint{.cdecl, - importc: "history_search", dynlib: historyDll.} -# Search the history for STRING, starting at history_offset. -# The search is anchored: matching lines must begin with string. -# DIRECTION is as in history_search(). - -proc history_search_prefix*(a2: cstring, a3: cint): cint{.cdecl, - importc: "history_search_prefix", dynlib: historyDll.} -# Search for STRING in the history list, starting at POS, an -# absolute index into the list. DIR, if negative, says to search -# backwards from POS, else forwards. -# Returns the absolute index of the history element where STRING -# was found, or -1 otherwise. - -proc history_search_pos*(a2: cstring, a3: cint, a4: cint): cint{.cdecl, - importc: "history_search_pos", dynlib: historyDll.} -# Managing the history file. -# Add the contents of FILENAME to the history list, a line at a time. -# If FILENAME is NULL, then read from ~/.history. Returns 0 if -# successful, or errno if not. - -proc read_history*(a2: cstring): cint{.cdecl, importc: "read_history", - dynlib: historyDll.} -# Read a range of lines from FILENAME, adding them to the history list. -# Start reading at the FROM'th line and end at the TO'th. If FROM -# is zero, start at the beginning. If TO is less than FROM, read -# until the end of the file. If FILENAME is NULL, then read from -# ~/.history. Returns 0 if successful, or errno if not. - -proc read_history_range*(a2: cstring, a3: cint, a4: cint): cint{.cdecl, - importc: "read_history_range", dynlib: historyDll.} -# Write the current history to FILENAME. If FILENAME is NULL, -# then write the history list to ~/.history. Values returned -# are as in read_history (). - -proc write_history*(a2: cstring): cint{.cdecl, importc: "write_history", - dynlib: historyDll.} -# Append NELEMENT entries to FILENAME. The entries appended are from -# the end of the list minus NELEMENTs up to the end of the list. - -proc append_history*(a2: cint, a3: cstring): cint{.cdecl, - importc: "append_history", dynlib: historyDll.} -# Truncate the history file, leaving only the last NLINES lines. - -proc history_truncate_file*(a2: cstring, a3: cint): cint{.cdecl, - importc: "history_truncate_file", dynlib: historyDll.} -# History expansion. -# Expand the string STRING, placing the result into OUTPUT, a pointer -# to a string. Returns: -# -# 0) If no expansions took place (or, if the only change in -# the text was the de-slashifying of the history expansion -# character) -# 1) If expansions did take place -# -1) If there was an error in expansion. -# 2) If the returned line should just be printed. -# -# If an error ocurred in expansion, then OUTPUT contains a descriptive -# error message. - -proc history_expand*(a2: cstring, a3: cstringArray): cint{.cdecl, - importc: "history_expand", dynlib: historyDll.} -# Extract a string segment consisting of the FIRST through LAST -# arguments present in STRING. Arguments are broken up as in -# the shell. - -proc history_arg_extract*(a2: cint, a3: cint, a4: cstring): cstring{.cdecl, - importc: "history_arg_extract", dynlib: historyDll.} -# Return the text of the history event beginning at the current -# offset into STRING. Pass STRING with *INDEX equal to the -# history_expansion_char that begins this specification. -# DELIMITING_QUOTE is a character that is allowed to end the string -# specification for what to search for in addition to the normal -# characters `:', ` ', `\t', `\n', and sometimes `?'. - -proc get_history_event*(a2: cstring, a3: ptr cint, a4: cint): cstring{.cdecl, - importc: "get_history_event", dynlib: historyDll.} -# Return an array of tokens, much as the shell might. The tokens are -# parsed out of STRING. - -proc history_tokenize*(a2: cstring): cstringArray{.cdecl, - importc: "history_tokenize", dynlib: historyDll.} -when false: - # Exported history variables. - var history_base*{.importc: "history_base", dynlib: historyDll.}: cint - var history_length*{.importc: "history_length", dynlib: historyDll.}: cint - var history_max_entries*{.importc: "history_max_entries", dynlib: historyDll.}: cint - var history_expansion_char*{.importc: "history_expansion_char", - dynlib: historyDll.}: char - var history_subst_char*{.importc: "history_subst_char", dynlib: historyDll.}: char - var history_word_delimiters*{.importc: "history_word_delimiters", - dynlib: historyDll.}: cstring - var history_comment_char*{.importc: "history_comment_char", dynlib: historyDll.}: char - var history_no_expand_chars*{.importc: "history_no_expand_chars", - dynlib: historyDll.}: cstring - var history_search_delimiter_chars*{.importc: "history_search_delimiter_chars", - dynlib: historyDll.}: cstring - var history_quotes_inhibit_expansion*{. - importc: "history_quotes_inhibit_expansion", dynlib: historyDll.}: cint - var history_write_timestamps*{.importc: "history_write_timestamps", - dynlib: historyDll.}: cint |