[go: up one dir, main page]

پرش به محتوا

گنو ریدلاین

از ویکی‌پدیا، دانشنامهٔ آزاد
گنو ریدلاین
نویسنده(های)
اصلی
Brian Fox
توسعه‌دهنده(ها)Chet Ramey
مخزن
مجوزسال ۲۰۰۹: جی‌پی‌ال نسخۀ ۳ یا جدیدتر

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

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

گنو ریدلاین (به انگلیسی: 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. "readline.git - The GNU Readline library". Retrieved 7 August 2024.
  3. مشارکت‌کنندگان ویکی‌پدیا. «GNU_readline». در دانشنامهٔ ویکی‌پدیای انگلیسی، بازبینی‌شده در ۸ ژوئیه ۲۰۱۳.