示例#1
0
/**
 * @brief Lists contents of a single directory
 * @param dname Name of directory to list
 */
void ls_dir(const char *dname) {
    char abs_path[WORKING_DIRECTORY_PATH_BUFFER_SIZE];
    get_abs_path(dname, abs_path);
    struct iso_dir *dir = iso_dopen(abs_path, 3);
    if (dir) {
        struct directory_record *dr = iso_dread(dir);
        while (dr) {
            if (is_dir(dr->file_flags[0])) {
                console_set_fgcolor(100,100,255);
            } else {
                console_set_fgcolor(0,255,0);
            }
            console_printf("%s\n", dr->file_identifier);
            dr = iso_dread(dir);
        }
        console_set_fgcolor(255,255,255);
        iso_dclose(dir);
    } else {
        console_printf("ls: no directory %s\n", dname);
    }
    iso_dclose(dir);
}
示例#2
0
void
console_test_pattern (void)
{
  for (int i = 0; i < FIXED8x12_COUNT; i++)
    {
      console_write_char (fixed8x12_glyphs[i].encoding, 0, 0, 0, 59);
      if (col == CONSOLE_COLS - 1)
	{
	  row++;
	  col = 0;
	}
    }

  row++;
  col = 0;
  console_set_bgcolor (COLOR_BG_DEFAULT);
  console_write_latin1_string ("DEFAULT");
  console_set_bgcolor (COLOR_BG_BLACK);
  console_write_latin1_string ("BLACK");
  console_set_bgcolor (COLOR_BG_RED);
  console_write_latin1_string ("RED");
  console_set_bgcolor (COLOR_BG_GREEN);
  console_write_latin1_string ("GREEN");
  console_set_bgcolor (COLOR_BG_YELLOW);
  console_write_latin1_string ("YELLOW");
  console_set_bgcolor (COLOR_BG_BLUE);
  console_write_latin1_string ("BLUE");
  console_set_bgcolor (COLOR_BG_MAGENTA);
  console_write_latin1_string ("MAGENTA");
  console_set_bgcolor (COLOR_BG_CYAN);
  console_write_latin1_string ("CYAN");
  console_set_bgcolor (COLOR_BG_WHITE);
  console_write_latin1_string ("WHITE");
  console_set_bgcolor (COLOR_BG_TRANSPARENT);
  console_write_latin1_string ("CLEAR");

  for (int i = 0; i < 3; i++)
    {
      row++;
      col = 0;
      console_set_fgcolor (COLOR_FG_DEFAULT);
      if (i == 0)
	{
	  console_set_intensity (INTENSITY_BOLD);
	  console_write_latin1_string ("BOLD   ");
	}
      else if (i == 1)
	{
	  console_set_intensity (INTENSITY_FAINT);
	  console_write_latin1_string ("FAINT  ");
	}
      else if (i == 2)
	{
	  console_set_intensity (INTENSITY_NORMAL);
	  console_write_latin1_string ("NORMAL ");
	}
      console_set_fgcolor (COLOR_FG_BLACK);
      console_write_latin1_string ("BLACK");
      console_set_fgcolor (COLOR_FG_RED);
      console_write_latin1_string ("RED");
      console_set_fgcolor (COLOR_FG_GREEN);
      console_write_latin1_string ("GREEN");
      console_set_fgcolor (COLOR_FG_YELLOW);
      console_write_latin1_string ("YELLOW");
      console_set_fgcolor (COLOR_FG_BLUE);
      console_write_latin1_string ("BLUE");
      console_set_fgcolor (COLOR_FG_MAGENTA);
      console_write_latin1_string ("MAGENTA");
      console_set_fgcolor (COLOR_FG_CYAN);
      console_write_latin1_string ("CYAN");
      console_set_fgcolor (COLOR_FG_WHITE);
      console_write_latin1_string ("WHITE");
      console_set_fgcolor (COLOR_FG_TRANSPARENT);
      console_write_latin1_string ("CLEAR");
    }

  row++;
  col = 0;
  console_set_fgcolor (COLOR_FG_DEFAULT);
  console_set_bgcolor (COLOR_BG_DEFAULT);
  console_set_blink (BLINK_NONE);
  console_write_latin1_string ("STEADY");
  console_set_blink (BLINK_SLOW);
  console_write_latin1_string ("BLINK1");
  console_set_blink (BLINK_FAST);
  console_write_latin1_string ("BLINK2");
  console_set_blink (BLINK_NONE);

  console_set_underline (UNDERLINE_NONE);
  console_write_latin1_string ("NORMAL");
  console_set_underline (UNDERLINE_SINGLY);
  console_write_latin1_string ("UNDERLINE1");
  console_set_underline (UNDERLINE_DOUBLY);
  console_write_latin1_string ("UNDERLINE2");
  console_set_underline (UNDERLINE_NONE);

  row++;
  col = 0;
  console_set_polarity (POLARITY_POSITIVE);
  console_write_latin1_string ("POSITIVE");
  console_set_polarity (POLARITY_NEGATIVE);
  console_write_latin1_string ("NEGATIVE");
  console_set_polarity (POLARITY_POSITIVE);

  row++;
  col = 0;
  console_write_latin1_string ("DELETE LEFT");
  console_delete_left (1);
}
示例#3
0
void
console_test_pattern (void)
{
    for (int i = 0; i < FIXED8x12_COUNT; i++)
    {
        console_write_char (fixed8x12_glyphs[i].encoding, 0, 0, 0, 0, CONSOLE_COLS - 1);
        if (col == CONSOLE_COLS - 1)
        {
            row ++;
            col = 0;
        }
    }
    row++;
    col = 0;

    console_write_utf8_string("¿Qué?");
    const wchar_t ws1[] = L"¿Qué?";
    console_write_wchar_string(ws1, wcslen(ws1));

  //ecma48_init();
  //const char s1[] = "hello\r\n";
  //const char s2[] = "\tWhat's up!\r\n";
  //const char s3[] = "\x1b[7mERR\x1b[0m \x1b[1mWARN\x1b[0m";
  //ecma48_execute(s1, strlen(s1));
  //ecma48_execute(s2, strlen(s2));
  //ecma48_execute(s3, strlen(s3));

#if 0
  row++;
  col = 0;
  console_set_bgcolor (COLOR_BG_DEFAULT);
  console_write_latin1_string ("DEFAULT");
  console_set_bgcolor (COLOR_BG_BLACK);
  console_write_latin1_string ("BLACK");
  console_set_bgcolor (COLOR_BG_RED);
  console_write_latin1_string ("RED");
  console_set_bgcolor (COLOR_BG_GREEN);
  console_write_latin1_string ("GREEN");
  console_set_bgcolor (COLOR_BG_YELLOW);
  console_write_latin1_string ("YELLOW");
  console_set_bgcolor (COLOR_BG_BLUE);
  console_write_latin1_string ("BLUE");
  console_set_bgcolor (COLOR_BG_MAGENTA);
  console_write_latin1_string ("MAGENTA");
  console_set_bgcolor (COLOR_BG_CYAN);
  console_write_latin1_string ("CYAN");
  console_set_bgcolor (COLOR_BG_WHITE);
  console_write_latin1_string ("WHITE");
  console_set_bgcolor (COLOR_BG_TRANSPARENT);
  console_write_latin1_string ("CLEAR");

  for (int i = 0; i < 3; i++)
    {
      row++;
      col = 0;
      console_set_fgcolor (COLOR_FG_DEFAULT);
      if (i == 0)
	{
	  console_set_intensity (INTENSITY_BOLD);
	  console_write_latin1_string ("BOLD   ");
	}
      else if (i == 1)
	{
	  console_set_intensity (INTENSITY_FAINT);
	  console_write_latin1_string ("FAINT  ");
	}
      else if (i == 2)
	{
	  console_set_intensity (INTENSITY_NORMAL);
	  console_write_latin1_string ("NORMAL ");
	}
      console_set_fgcolor (COLOR_FG_BLACK);
      console_write_latin1_string ("BLACK");
      console_set_fgcolor (COLOR_FG_RED);
      console_write_latin1_string ("RED");
      console_set_fgcolor (COLOR_FG_GREEN);
      console_write_latin1_string ("GREEN");
      console_set_fgcolor (COLOR_FG_YELLOW);
      console_write_latin1_string ("YELLOW");
      console_set_fgcolor (COLOR_FG_BLUE);
      console_write_latin1_string ("BLUE");
      console_set_fgcolor (COLOR_FG_MAGENTA);
      console_write_latin1_string ("MAGENTA");
      console_set_fgcolor (COLOR_FG_CYAN);
      console_write_latin1_string ("CYAN");
      console_set_fgcolor (COLOR_FG_WHITE);
      console_write_latin1_string ("WHITE");
      console_set_fgcolor (COLOR_FG_TRANSPARENT);
      console_write_latin1_string ("CLEAR");
    }

  row++;
  col = 0;
  console_set_fgcolor (COLOR_FG_DEFAULT);
  console_set_bgcolor (COLOR_BG_DEFAULT);
  console_set_blink (BLINK_NONE);
  console_write_latin1_string ("STEADY");
  console_set_blink (BLINK_SLOW);
  console_write_latin1_string ("BLINK1");
  console_set_blink (BLINK_FAST);
  console_write_latin1_string ("BLINK2");
  console_set_blink (BLINK_NONE);

  console_set_underline (UNDERLINE_NONE);
  console_write_latin1_string ("NORMAL");
  console_set_underline (UNDERLINE_SINGLY);
  console_write_latin1_string ("UNDERLINE1");
  console_set_underline (UNDERLINE_DOUBLY);
  console_write_latin1_string ("UNDERLINE2");
  console_set_underline (UNDERLINE_NONE);

  row++;
  col = 0;
  console_set_polarity (POLARITY_POSITIVE);
  console_write_latin1_string ("POSITIVE");
  console_set_polarity (POLARITY_NEGATIVE);
  console_write_latin1_string ("NEGATIVE");
  console_set_polarity (POLARITY_POSITIVE);

  row++;
  col = 0;
  console_write_latin1_string ("DELETE ->*<- LEFT");
  col = 9;
  console_delete_left (2);

  row++;
  col = 0;
  console_write_latin1_string ("DELETE ->*<- RIGHT");
  col = 9;
  console_delete_right (2);

  row ++;
  col = 0;
  console_write_latin1_string ("ERASE ->*<- LEFT");
  col = 8;
  console_erase_left (2);

  row ++;
  col = 0;
  console_write_latin1_string ("ERASE ->*<- RIGHT");
  col = 8;
  console_erase_right (2);

  console_scroll_down(2);
#endif
}
示例#4
0
文件: cmd_line.c 项目: NunyaOS/Nunya
void cmd_line_show_prompt() {
    console_set_fgcolor(255, 100, 100);
    console_printf("%s > ", get_cur_path());
    console_set_fgcolor(255, 255, 255);
}