گنو ریدلاین

از ویکی‌پدیا، دانشنامهٔ آزاد
گنو ریدلاین
نویسنده(های)
اصلی
Brian Fox
توسعه‌دهنده(ها)Chet Ramey
انتشار ابتدایی۱۹۸۹؛ ۳۵ سال پیش (۱۹۸۹-خطا: زمان نامعتبر}})
انتشار پایدار
8.2[۱] ویرایش در ویکی‌داده
26 سپتامبر 2022
مخزن
نوشته‌شده باسی
گونهکتابخانۀ نرم‌افزاری
پروانهسال ۲۰۰۹: جی‌پی‌ال نسخۀ ۳ یا جدیدتر

سال ۱۹۷۷: جی‌پی‌ال نسخۀ ۲ یا جدیدتر

سال ۱۹۹۴: جی‌پی‌ال نسخۀ ۱ یا جدیدتر
وبگاه

گنو ریدلاین (به انگلیسی: GNU readline) یک کتابخانه برای افزودن قابلیت‌های ویرایش خط و جستجو در تاریخچهٔ فرمان‌های به کار برده شده، در برنامه‌های محاوره‌ای است که از واسط خط فرمان استفاده می‌کنند. از جمله برنامه‌هایی که از گنو ریدلاین استفاده می‌کنند می‌توان به بش، اف‌تی‌پی، مای اس‌کیوال،پایتون و پست‌گرس‌کیوال اشاره کرد. میانبرهای مورد استفاده در گنو ریدلاین از ایمکس اقتباس شده‌اند، اگر چه این میانبرها قابل شخصی‌سازی هستند.[۲]

کد نمونه[ویرایش]

کد زیر به زبان سی است و در هنگام ترجمه باید با آپشن -lreadline ترجمه شود.

# include <stdlib.h>
# include <stdio.h>
# include <unistd.h>
# include <readline/readline.h>
# include <readline/history.h>

int main()
{
    char* input, shell_prompt[100];

    // Configure readline to auto-complete paths when the tab key is hit.
    rl_bind_key('\t', rl_complete);

    for(;;) {
        // Create prompt string from user name and current working directory.
        snprintf(shell_prompt, sizeof(shell_prompt), "%s:%s $ ", getenv("USER"), getcwd(NULL, 1024));

        // Display prompt and read input (n.b. input must be freed after use)...
        input = readline(shell_prompt);

        // Check for EOF.
        if (!input)
            break;

        // Add input to history.
        add_history(input);

        // Do stuff...

        // Free input.
        free(input);
    }
}

منابع[ویرایش]

  1. "Readline-8.2 Release available" (به زبان انگلیسی). 26 سپتامبر 2022. Retrieved 26 September 2022.{{cite web}}: نگهداری یادکرد:زبان ناشناخته (link)
  2. مشارکت‌کنندگان ویکی‌پدیا. «GNU_readline». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۸ ژوئیه ۲۰۱۳.