File: stdlib_terminal.c

package info (click to toggle)
nim 0.16.0-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 290,936 kB
  • ctags: 1,049,726
  • sloc: sh: 7,408; ansic: 1,464; makefile: 358; objc: 224; asm: 199; xml: 129; java: 56; pascal: 32; python: 20
file content (125 lines) | stat: -rw-r--r-- 4,271 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* Generated by Nim Compiler v0.16.0 */
/*   (c) 2017 Andreas Rumpf */
/* The generated code is subject to the original license. */
#define NIM_INTBITS 64

#include "nimbase.h"
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#undef linux
typedef struct NimStringDesc NimStringDesc;
typedef struct TGenericSeq TGenericSeq;
typedef NU8 Style_NXKayqTLMsAibFwNceBlpA_Set;
typedef NU8 Style_NXKayqTLMsAibFwNceBlpA;
struct  TGenericSeq  {
NI len;
NI reserved;
};
struct  NimStringDesc  {
  TGenericSeq Sup;
NIM_CHAR data[SEQ_DECL_SIZE];
};
typedef NU8 Foregroundcolor_ez9ah4IgQc0AbdW68acioDg;
N_NIMCALL(void, write_c4mGyJBvK73pdM22jiweKQ)(FILE* f0, NimStringDesc* s0);
static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0);
static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0);
N_NIMCALL(NimStringDesc*, nimIntToStr)(NI x0);
static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0);
N_NIMCALL(NimStringDesc*, rawNewString)(NI space0);
N_NIMCALL(int, getfilehandle_bZ9c2yojtXoDTUpfyl8h8Rg)(FILE* f0);
NI gfg_g7w4T3anr20OMlWloNx2tQ;
NI gbg_dgmeknpHWrtwqMJGQAp9atA;
STRING_LITERAL(T_CN3raB9atujkEiPpxYAdlgQ_2, "\033[", 2);
STRING_LITERAL(T_CN3raB9atujkEiPpxYAdlgQ_3, "\033[0m", 4);

static N_INLINE(void, copymem_E1xtACub5WcDa3vbrIXbwgsystem)(void* dest0, void* source0, NI size0) {
	void* LOC1;
	LOC1 = (void*)0;
	LOC1 = memcpy(dest0, source0, ((size_t) (size0)));
}

static N_INLINE(void, appendString)(NimStringDesc* dest0, NimStringDesc* src0) {
	copymem_E1xtACub5WcDa3vbrIXbwgsystem(((void*) ((&(*dest0).data[((*dest0).Sup.len)- 0]))), ((void*) ((*src0).data)), ((NI) ((NI)((*src0).Sup.len + ((NI) 1)))));
	(*dest0).Sup.len += (*src0).Sup.len;
}

static N_INLINE(void, appendChar)(NimStringDesc* dest0, NIM_CHAR c0) {
	(*dest0).data[((*dest0).Sup.len)- 0] = c0;
	(*dest0).data[((NI)((*dest0).Sup.len + ((NI) 1)))- 0] = 0;
	(*dest0).Sup.len += ((NI) 1);
}

N_NIMCALL(void, setstyle_zEKKPPIjKZs9bVYu4TwenLg)(FILE* f0, Style_NXKayqTLMsAibFwNceBlpA_Set style0) {
	{
		Style_NXKayqTLMsAibFwNceBlpA s_FZtpHAjVRzoXQLsd0ruPvQ;
		NI i_BlOmMRII9bmWVWIFwYK5XdQ;
		s_FZtpHAjVRzoXQLsd0ruPvQ = (Style_NXKayqTLMsAibFwNceBlpA)0;
		i_BlOmMRII9bmWVWIFwYK5XdQ = ((NI) 1);
		{
			while (1) {
				if (!(i_BlOmMRII9bmWVWIFwYK5XdQ <= ((NI) 8))) goto LA3;
				{
					NimStringDesc* LOC8;
					NimStringDesc* LOC9;
					if (!((style0 &(1U<<((NU)((((Style_NXKayqTLMsAibFwNceBlpA) (i_BlOmMRII9bmWVWIFwYK5XdQ))- 1))&7U)))!=0)) goto LA6;
					s_FZtpHAjVRzoXQLsd0ruPvQ = ((Style_NXKayqTLMsAibFwNceBlpA) (i_BlOmMRII9bmWVWIFwYK5XdQ));
					LOC8 = (NimStringDesc*)0;
					LOC9 = (NimStringDesc*)0;
					LOC9 = nimIntToStr(((NI) (s_FZtpHAjVRzoXQLsd0ruPvQ)));
					LOC8 = rawNewString(LOC9->Sup.len + 3);
appendString(LOC8, ((NimStringDesc*) &T_CN3raB9atujkEiPpxYAdlgQ_2));
appendString(LOC8, LOC9);
appendChar(LOC8, 109);
					write_c4mGyJBvK73pdM22jiweKQ(f0, LOC8);
				}
				LA6: ;
				i_BlOmMRII9bmWVWIFwYK5XdQ += ((NI) 1);
			} LA3: ;
		}
	}
}

N_NIMCALL(void, resetattributes_tFIu39aFSR3N0M64Ynwugng)(FILE* f0) {
	write_c4mGyJBvK73pdM22jiweKQ(f0, ((NimStringDesc*) &T_CN3raB9atujkEiPpxYAdlgQ_3));
}

N_NIMCALL(void, setforegroundcolor_Tw7yxMupneOmAicqiYt3NA)(FILE* f0, Foregroundcolor_ez9ah4IgQc0AbdW68acioDg fg0, NIM_BOOL bright0) {
	NimStringDesc* LOC5;
	NimStringDesc* LOC6;
	gfg_g7w4T3anr20OMlWloNx2tQ = ((NI) (fg0));
	{
		if (!bright0) goto LA3;
		gfg_g7w4T3anr20OMlWloNx2tQ += ((NI) 60);
	}
	LA3: ;
	LOC5 = (NimStringDesc*)0;
	LOC6 = (NimStringDesc*)0;
	LOC6 = nimIntToStr(gfg_g7w4T3anr20OMlWloNx2tQ);
	LOC5 = rawNewString(LOC6->Sup.len + 3);
appendString(LOC5, ((NimStringDesc*) &T_CN3raB9atujkEiPpxYAdlgQ_2));
appendString(LOC5, LOC6);
appendChar(LOC5, 109);
	write_c4mGyJBvK73pdM22jiweKQ(f0, LOC5);
}

N_NIMCALL(NIM_BOOL, isatty_POoHvosCWg3Yl5ieYeLHrg)(FILE* f0) {
	NIM_BOOL result0;
	int LOC1;
	int LOC2;
	result0 = (NIM_BOOL)0;
	LOC1 = (int)0;
	LOC1 = getfilehandle_bZ9c2yojtXoDTUpfyl8h8Rg(f0);
	LOC2 = (int)0;
	LOC2 = isatty(LOC1);
	result0 = !((LOC2 == ((NI32) 0)));
	return result0;
}
NIM_EXTERNC N_NOINLINE(void, stdlib_terminalInit000)(void) {
	gfg_g7w4T3anr20OMlWloNx2tQ = ((NI) 0);
	gbg_dgmeknpHWrtwqMJGQAp9atA = ((NI) 0);
}

NIM_EXTERNC N_NOINLINE(void, stdlib_terminalDatInit000)(void) {
}